Mir

Merge lp:~raof/mir/hide-internal-symbols into lp:mir

Proposed by Chris Halse Rogers
Status: Work in progress
Proposed branch: lp:~raof/mir/hide-internal-symbols
Merge into: lp:mir
Diff against target: 1715 lines (+209/-92)
80 files modified
include/server/mir/frontend/protobuf_connection_creator.h (+1/-0)
include/shared/mir/visibility.h (+32/-0)
include/test/mir_test_doubles/stub_ipc_factory.h (+2/-1)
src/server/CMakeLists.txt (+10/-1)
src/server/compositor/buffer_bundle.h (+2/-1)
src/server/compositor/buffer_queue.h (+2/-1)
src/server/compositor/buffer_stream_factory.h (+2/-1)
src/server/compositor/buffer_stream_surfaces.h (+2/-1)
src/server/compositor/compositing_screencast.h (+2/-1)
src/server/compositor/multi_threaded_compositor.h (+2/-1)
src/server/compositor/occlusion.h (+2/-1)
src/server/compositor/temporary_buffers.h (+4/-3)
src/server/frontend/client_buffer_tracker.h (+2/-1)
src/server/frontend/default_ipc_factory.h (+2/-1)
src/server/frontend/display_server.h (+2/-1)
src/server/frontend/message_receiver.h (+1/-0)
src/server/frontend/no_prompt_shell.h (+2/-1)
src/server/frontend/protobuf_ipc_factory.h (+1/-0)
src/server/frontend/protobuf_message_processor.h (+2/-1)
src/server/frontend/protobuf_responder.h (+2/-1)
src/server/frontend/published_socket_connector.h (+3/-2)
src/server/frontend/resource_cache.h (+2/-1)
src/server/frontend/session_mediator.h (+2/-1)
src/server/frontend/socket_connection.h (+1/-0)
src/server/frontend/socket_messenger.h (+3/-2)
src/server/graphics/default_display_configuration_policy.h (+2/-1)
src/server/graphics/nested/nested_display.h (+4/-3)
src/server/graphics/nested/nested_output.h (+2/-1)
src/server/graphics/nested/nested_platform.h (+2/-1)
src/server/graphics/offscreen/display.h (+3/-2)
src/server/graphics/offscreen/display_configuration.h (+2/-1)
src/server/graphics/program_factory.h (+2/-1)
src/server/input/android/android_input_manager.h (+2/-1)
src/server/input/android/android_input_reader_policy.h (+2/-1)
src/server/input/android/android_input_registrar.h (+2/-1)
src/server/input/android/android_input_target_enumerator.h (+2/-1)
src/server/input/android/android_input_targeter.h (+2/-1)
src/server/input/android/android_input_thread.h (+3/-1)
src/server/input/android/android_pointer_controller.h (+2/-1)
src/server/input/android/android_window_handle_repository.h (+2/-1)
src/server/input/android/common_input_thread.h (+2/-1)
src/server/input/android/input_channel_factory.h (+2/-1)
src/server/input/android/input_send_entry.h (+2/-1)
src/server/input/android/rudimentary_input_reader_policy.h (+3/-1)
src/server/input/cursor_controller.h (+2/-1)
src/server/input/default_configuration.cpp (+1/-1)
src/server/input/event_filter_chain.h (+2/-1)
src/server/input/null_input_channel_factory.h (+2/-1)
src/server/input/null_input_dispatcher.h (+2/-1)
src/server/input/null_input_manager.h (+2/-1)
src/server/input/null_input_send_observer.h (+2/-1)
src/server/report/lttng/compositor_report.h (+2/-1)
src/server/report/lttng/input_report.h (+2/-1)
src/server/report/lttng/message_processor_report.h (+2/-1)
src/server/report/lttng/scene_report.h (+2/-1)
src/server/report/lttng_report_factory.h (+2/-1)
src/server/report/null/input_report.h (+2/-1)
src/server/report/null/scene_report.h (+2/-1)
src/server/report/null_report_factory.h (+9/-8)
src/server/scene/broadcasting_session_event_sink.h (+3/-2)
src/server/scene/default_configuration.cpp (+3/-3)
src/server/scene/default_session_container.h (+2/-1)
src/server/scene/gl_pixel_buffer.h (+2/-1)
src/server/scene/global_event_sender.h (+2/-1)
src/server/scene/mediating_display_changer.h (+3/-2)
src/server/scene/prompt_session_manager_impl.h (+2/-1)
src/server/scene/session_container.h (+1/-0)
src/server/scene/session_event_handler_register.h (+2/-1)
src/server/scene/session_manager.h (+2/-1)
src/server/scene/snapshot_strategy.h (+2/-1)
src/server/scene/surface_controller.h (+2/-1)
src/server/scene/surface_stack.h (+4/-2)
src/server/scene/threaded_snapshot_strategy.h (+1/-1)
src/server/shell/consuming_placement_strategy.h (+2/-1)
src/server/shell/default_focus_mechanism.h (+2/-1)
src/server/shell/null_host_lifecycle_event_listener.h (+2/-1)
tests/CMakeLists.txt (+2/-0)
tests/acceptance-tests/CMakeLists.txt (+1/-1)
tests/integration-tests/CMakeLists.txt (+1/-1)
tests/unit-tests/CMakeLists.txt (+1/-1)
To merge this branch: bzr merge lp:~raof/mir/hide-internal-symbols
Reviewer Review Type Date Requested Status
Daniel van Vugt Needs Fixing
Alan Griffiths Abstain
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+227144@code.launchpad.net

Commit message

Hide server-internal symbols using the new MIR_INTERNAL define.

Results in a modest 15% reduction in the set of exported symbols from libmirserver.so

Description of the change

Hide server-internal symbols using the new MIR_INTERNAL define.

Results in a modest 15% reduction in the set of exported symbols from libmirserver.so

To post a comment you must log in.
lp:~raof/mir/hide-internal-symbols updated
1773. By Chris Halse Rogers

Merge trunk, resolving SOVER bump conflict

1774. By Chris Halse Rogers

Hide new symbols from trunk merge

1775. By Chris Halse Rogers

Ahem. Actually include visibility.h in bzr

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~raof/mir/hide-internal-symbols updated
1776. By Chris Halse Rogers

Explicitly mark some DefaultServerConfiguration as exported.

If someone could pipe up with some idea of *why* this fixes linkage on ARM,
that'd be ace!

1777. By Chris Halse Rogers

A little more visibility

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I *think* we can do better than this. I'm not sure how yet but have started thinking about it.

My idea solution wouldn't use macros but would use the location of the include files to control visibility.

Maybe we can use the GCC python plugin. There's an example:
http://blog.cuviper.com/2014/01/23/add-new-warnings-to-gcc-with-python/

The plugin could inspect each function definition as it compiles, and if the source location of the declaration is in <root>/include/ mark it public. (I.e. write it to a symbols file?)

Or something similar based on libclang?

Anyway, not for this week.

review: Abstain
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sorry, we sat on this too long...

Text conflict in src/server/CMakeLists.txt
Text conflict in src/server/shell/default_placement_strategy.h
Text conflict in tests/integration-tests/CMakeLists.txt
Text conflict in tests/unit-tests/CMakeLists.txt
4 conflicts encountered.

review: Needs Fixing
Revision history for this message
Robert Carr (robertcarr) wrote :

>> The plugin could inspect each function definition as it compiles, and if the source location of
>> the declaration is in <root>/include/ mark it public. (I.e. write it to a symbols file?)

Then we would strip the symbol after build? Seems cool I guess...I think it's kind of a pain to write MIR_INTERNAL everywhere

Revision history for this message
Chris Halse Rogers (raof) wrote :

The profusion of MIR_INTERNAL is meant to be temporary, until we mark
all the things we actually want to export as MIR_API and flip to
-fvisibility=hidden.

We'd still potentially want MIR_INTERNAL to hide bits of publicly
exported classes, but we'd use it a lot less.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> >> The plugin could inspect each function definition as it compiles, and if
> the source location of
> >> the declaration is in <root>/include/ mark it public. (I.e. write it to a
> symbols file?)
>
> Then we would strip the symbol after build?

Well, after compiling: during the link part of the build.

> Seems cool I guess...I think it's
> kind of a pain to write MIR_INTERNAL everywhere

The sad thing is that the compiler plugin [https://fedorahosted.org/gcc-python-plugin/] isn't part of the Ubuntu archive - and as it is "alpha" code we probably shouldn't make it an integral part of our build process.

Unmerged revisions

1777. By Chris Halse Rogers

A little more visibility

1776. By Chris Halse Rogers

Explicitly mark some DefaultServerConfiguration as exported.

If someone could pipe up with some idea of *why* this fixes linkage on ARM,
that'd be ace!

1775. By Chris Halse Rogers

Ahem. Actually include visibility.h in bzr

1774. By Chris Halse Rogers

Hide new symbols from trunk merge

1773. By Chris Halse Rogers

Merge trunk, resolving SOVER bump conflict

1772. By Chris Halse Rogers

Fix test linkage by building a mirserver-static archive

1771. By Chris Halse Rogers

Mark a whole bunch of internal symbols as visibility=hidden

This breaks linking the tests at the moment; followup work will fix them

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/server/mir/frontend/protobuf_connection_creator.h'
2--- include/server/mir/frontend/protobuf_connection_creator.h 2014-06-03 11:04:15 +0000
3+++ include/server/mir/frontend/protobuf_connection_creator.h 2014-07-18 06:57:43 +0000
4@@ -19,6 +19,7 @@
5 #ifndef MIR_FRONTEND_PROTOBUF_CONNECTION_CREATOR_H_
6 #define MIR_FRONTEND_PROTOBUF_CONNECTION_CREATOR_H_
7
8+#include "mir/visibility.h"
9 #include "mir/frontend/connection_creator.h"
10 #include "mir/frontend/connections.h"
11
12
13=== added file 'include/shared/mir/visibility.h'
14--- include/shared/mir/visibility.h 1970-01-01 00:00:00 +0000
15+++ include/shared/mir/visibility.h 2014-07-18 06:57:43 +0000
16@@ -0,0 +1,32 @@
17+/*
18+ * Copyright © 2014 Canonical Ltd.
19+ *
20+ * This program is free software: you can redistribute it and/or modify
21+ * it under the terms of the GNU Lesser General Public License version 3 as
22+ * published by the Free Software Foundation.
23+ *
24+ * This program is distributed in the hope that it will be useful,
25+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
26+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27+ * GNU Lesser General Public License for more details.
28+ *
29+ * You should have received a copy of the GNU Lesser General Public License
30+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
31+ *
32+ * Authored by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
33+ */
34+
35+#ifndef MIR_VISIBILITY_H_
36+#define MIR_VISIBILITY_H_
37+
38+/*
39+ * Keep the attribute bit hidden in here; it's plausible that we might want to
40+ * support different compilers and such.
41+ *
42+ * Also, MIR_FOO is more descriptive
43+ */
44+
45+#define MIR_INTERNAL __attribute__ ((visibility ("hidden")))
46+#define MIR_API __attribute__ ((visibility ("default")))
47+
48+#endif
49
50=== modified file 'include/test/mir_test_doubles/stub_ipc_factory.h'
51--- include/test/mir_test_doubles/stub_ipc_factory.h 2014-06-03 11:04:15 +0000
52+++ include/test/mir_test_doubles/stub_ipc_factory.h 2014-07-18 06:57:43 +0000
53@@ -20,6 +20,7 @@
54 #ifndef MIR_TEST_DOUBLES_STUB_IPC_FACTORY_H_
55 #define MIR_TEST_DOUBLES_STUB_IPC_FACTORY_H_
56
57+#include "mir/visibility.h"
58 #include "mir_test/fake_shared.h"
59 #include "src/server/frontend/protobuf_ipc_factory.h"
60 #include "src/server/frontend/resource_cache.h"
61@@ -35,7 +36,7 @@
62 namespace doubles
63 {
64
65-class StubIpcFactory : public frontend::ProtobufIpcFactory
66+class MIR_INTERNAL StubIpcFactory : public frontend::ProtobufIpcFactory
67 {
68 public:
69 StubIpcFactory(frontend::detail::DisplayServer& server) :
70
71=== modified file 'src/server/CMakeLists.txt'
72--- src/server/CMakeLists.txt 2014-07-08 06:42:38 +0000
73+++ src/server/CMakeLists.txt 2014-07-18 06:57:43 +0000
74@@ -39,6 +39,10 @@
75 ${SRCS}
76 )
77
78+add_library(mirserver-static STATIC
79+ ${SRCS}
80+)
81+
82 list(APPEND MIRSERVER_ARCHIVES
83 miroptions
84 mircompositor
85@@ -54,8 +58,8 @@
86 mirshell
87 mirscene
88 mirtime
89+ mirreport
90 mirlttng
91- mirreport
92 mirlogger
93 mirnestedgraphics
94 miroffscreengraphics
95@@ -98,6 +102,11 @@
96 )
97 endif()
98
99+target_link_libraries(mirserver-static
100+ ${MIRSERVER_ARCHIVES}
101+ ${MIRSERVER_LINKS}
102+)
103+
104 set(MIRSERVER_ABI 23) # Be sure to increment MIR_VERSION_MINOR at the same time
105
106 set_target_properties(
107
108=== modified file 'src/server/compositor/buffer_bundle.h'
109--- src/server/compositor/buffer_bundle.h 2014-05-21 08:38:47 +0000
110+++ src/server/compositor/buffer_bundle.h 2014-07-18 06:57:43 +0000
111@@ -20,6 +20,7 @@
112 #ifndef MIR_COMPOSITOR_BUFFER_BUNDLE_H_
113 #define MIR_COMPOSITOR_BUFFER_BUNDLE_H_
114
115+#include "mir/visibility.h"
116 #include "mir/graphics/buffer_properties.h"
117 #include <memory>
118
119@@ -30,7 +31,7 @@
120 namespace compositor
121 {
122
123-class BufferBundle
124+class MIR_INTERNAL BufferBundle
125 {
126 public:
127 virtual ~BufferBundle() noexcept {}
128
129=== modified file 'src/server/compositor/buffer_queue.h'
130--- src/server/compositor/buffer_queue.h 2014-07-14 03:49:17 +0000
131+++ src/server/compositor/buffer_queue.h 2014-07-18 06:57:43 +0000
132@@ -18,6 +18,7 @@
133 #ifndef MIR_BUFFER_QUEUE_H_
134 #define MIR_BUFFER_QUEUE_H_
135
136+#include "mir/visibility.h"
137 #include "mir/compositor/frame_dropping_policy_factory.h"
138 #include "mir/compositor/frame_dropping_policy.h"
139 #include "buffer_bundle.h"
140@@ -37,7 +38,7 @@
141 namespace compositor
142 {
143
144-class BufferQueue : public BufferBundle
145+class MIR_INTERNAL BufferQueue : public BufferBundle
146 {
147 public:
148 typedef std::function<void(graphics::Buffer* buffer)> Callback;
149
150=== modified file 'src/server/compositor/buffer_stream_factory.h'
151--- src/server/compositor/buffer_stream_factory.h 2014-06-09 17:16:32 +0000
152+++ src/server/compositor/buffer_stream_factory.h 2014-07-18 06:57:43 +0000
153@@ -21,6 +21,7 @@
154 #ifndef MIR_COMPOSITOR_BUFFER_STREAM_FACTORY_H_
155 #define MIR_COMPOSITOR_BUFFER_STREAM_FACTORY_H_
156
157+#include "mir/visibility.h"
158 #include "mir/scene/buffer_stream_factory.h"
159 #include "mir/compositor/frame_dropping_policy_factory.h"
160
161@@ -35,7 +36,7 @@
162 namespace compositor
163 {
164
165-class BufferStreamFactory : public scene::BufferStreamFactory
166+class MIR_INTERNAL BufferStreamFactory : public scene::BufferStreamFactory
167 {
168 public:
169 BufferStreamFactory(std::shared_ptr<graphics::GraphicBufferAllocator> const& gralloc,
170
171=== modified file 'src/server/compositor/buffer_stream_surfaces.h'
172--- src/server/compositor/buffer_stream_surfaces.h 2014-05-22 10:00:05 +0000
173+++ src/server/compositor/buffer_stream_surfaces.h 2014-07-18 06:57:43 +0000
174@@ -20,6 +20,7 @@
175 #ifndef MIR_COMPOSITOR_BUFFER_STREAM_SCENE_H_
176 #define MIR_COMPOSITOR_BUFFER_STREAM_SCENE_H_
177
178+#include "mir/visibility.h"
179 #include "mir/compositor/buffer_stream.h"
180
181 #include <mutex>
182@@ -33,7 +34,7 @@
183 class BufferBundle;
184 class BackBufferStrategy;
185
186-class BufferStreamSurfaces : public BufferStream
187+class MIR_INTERNAL BufferStreamSurfaces : public BufferStream
188 {
189 public:
190 BufferStreamSurfaces(std::shared_ptr<BufferBundle> const& swapper);
191
192=== modified file 'src/server/compositor/compositing_screencast.h'
193--- src/server/compositor/compositing_screencast.h 2014-03-05 21:12:05 +0000
194+++ src/server/compositor/compositing_screencast.h 2014-07-18 06:57:43 +0000
195@@ -19,6 +19,7 @@
196 #ifndef MIR_COMPOSITOR_COMPOSITING_SCREENCAST_H_
197 #define MIR_COMPOSITOR_COMPOSITING_SCREENCAST_H_
198
199+#include "mir/visibility.h"
200 #include "mir/frontend/screencast.h"
201
202 #include <unordered_map>
203@@ -39,7 +40,7 @@
204
205 class DisplayBufferCompositorFactory;
206
207-class CompositingScreencast : public frontend::Screencast
208+class MIR_INTERNAL CompositingScreencast : public frontend::Screencast
209 {
210 public:
211 CompositingScreencast(
212
213=== modified file 'src/server/compositor/multi_threaded_compositor.h'
214--- src/server/compositor/multi_threaded_compositor.h 2014-06-09 17:16:32 +0000
215+++ src/server/compositor/multi_threaded_compositor.h 2014-07-18 06:57:43 +0000
216@@ -19,6 +19,7 @@
217 #ifndef MIR_COMPOSITOR_MULTI_THREADED_COMPOSITOR_H_
218 #define MIR_COMPOSITOR_MULTI_THREADED_COMPOSITOR_H_
219
220+#include "mir/visibility.h"
221 #include "mir/compositor/compositor.h"
222
223 #include <mutex>
224@@ -53,7 +54,7 @@
225 stopping
226 };
227
228-class MultiThreadedCompositor : public Compositor
229+class MIR_INTERNAL MultiThreadedCompositor : public Compositor
230 {
231 public:
232 MultiThreadedCompositor(std::shared_ptr<graphics::Display> const& display,
233
234=== modified file 'src/server/compositor/occlusion.h'
235--- src/server/compositor/occlusion.h 2014-06-23 17:19:22 +0000
236+++ src/server/compositor/occlusion.h 2014-07-18 06:57:43 +0000
237@@ -19,6 +19,7 @@
238 #ifndef MIR_COMPOSITOR_OCCLUSION_H_
239 #define MIR_COMPOSITOR_OCCLUSION_H_
240
241+#include "mir/visibility.h"
242 #include "mir/compositor/scene.h"
243
244 namespace mir
245@@ -26,7 +27,7 @@
246 namespace compositor
247 {
248
249-SceneElementSequence filter_occlusions_from(SceneElementSequence& list, geometry::Rectangle const& area);
250+MIR_INTERNAL SceneElementSequence filter_occlusions_from(SceneElementSequence& list, geometry::Rectangle const& area);
251
252 } // namespace compositor
253 } // namespace mir
254
255=== modified file 'src/server/compositor/temporary_buffers.h'
256--- src/server/compositor/temporary_buffers.h 2014-05-01 08:07:56 +0000
257+++ src/server/compositor/temporary_buffers.h 2014-07-18 06:57:43 +0000
258@@ -19,6 +19,7 @@
259 #ifndef MIR_COMPOSITOR_TEMPORARY_BUFFERS_H_
260 #define MIR_COMPOSITOR_TEMPORARY_BUFFERS_H_
261
262+#include "mir/visibility.h"
263 #include "mir/graphics/buffer.h"
264 #include "mir/graphics/buffer_id.h"
265
266@@ -32,7 +33,7 @@
267 class BufferBundle;
268 class BackBufferStrategy;
269
270-class TemporaryBuffer : public mg::Buffer
271+class MIR_INTERNAL TemporaryBuffer : public mg::Buffer
272 {
273 public:
274 geometry::Size size() const;
275@@ -48,7 +49,7 @@
276 std::shared_ptr<mg::Buffer> const buffer;
277 };
278
279-class TemporaryCompositorBuffer : public TemporaryBuffer
280+class MIR_INTERNAL TemporaryCompositorBuffer : public TemporaryBuffer
281 {
282 public:
283 explicit TemporaryCompositorBuffer(
284@@ -59,7 +60,7 @@
285 std::shared_ptr<BufferBundle> const bundle;
286 };
287
288-class TemporarySnapshotBuffer : public TemporaryBuffer
289+class MIR_INTERNAL TemporarySnapshotBuffer : public TemporaryBuffer
290 {
291 public:
292 explicit TemporarySnapshotBuffer(
293
294=== modified file 'src/server/frontend/client_buffer_tracker.h'
295--- src/server/frontend/client_buffer_tracker.h 2013-08-28 03:41:48 +0000
296+++ src/server/frontend/client_buffer_tracker.h 2014-07-18 06:57:43 +0000
297@@ -19,6 +19,7 @@
298 #ifndef MIR_FRONTEND_CLIENT_BUFFER_TRACKER_H_
299 #define MIR_FRONTEND_CLIENT_BUFFER_TRACKER_H_
300
301+#include "mir/visibility.h"
302 #include <stdint.h>
303 #include <list>
304
305@@ -37,7 +38,7 @@
306
307 /// \sa mir::client::ClientBufferDepository for the client-side of this tracking
308 /// \note Changes to the tracking algorithm of mir::client::ClientBufferDepository will need to be mirrored here
309-class ClientBufferTracker
310+class MIR_INTERNAL ClientBufferTracker
311 {
312 public:
313 ClientBufferTracker(unsigned int client_cache_size);
314
315=== modified file 'src/server/frontend/default_ipc_factory.h'
316--- src/server/frontend/default_ipc_factory.h 2014-07-09 10:48:47 +0000
317+++ src/server/frontend/default_ipc_factory.h 2014-07-18 06:57:43 +0000
318@@ -19,6 +19,7 @@
319 #ifndef MIR_FRONTEND_DEFAULT_IPC_FACTORY_H_
320 #define MIR_FRONTEND_DEFAULT_IPC_FACTORY_H_
321
322+#include "mir/visibility.h"
323 #include "protobuf_ipc_factory.h"
324
325 namespace mir
326@@ -41,7 +42,7 @@
327 class Screencast;
328 class SessionAuthorizer;
329
330-class DefaultIpcFactory : public ProtobufIpcFactory
331+class MIR_INTERNAL DefaultIpcFactory : public ProtobufIpcFactory
332 {
333 public:
334 explicit DefaultIpcFactory(
335
336=== modified file 'src/server/frontend/display_server.h'
337--- src/server/frontend/display_server.h 2014-06-03 11:04:15 +0000
338+++ src/server/frontend/display_server.h 2014-07-18 06:57:43 +0000
339@@ -19,6 +19,7 @@
340 #ifndef MIR_FRONTEND_DETAIL_DISPLAY_SERVER_H_
341 #define MIR_FRONTEND_DETAIL_DISPLAY_SERVER_H_
342
343+#include "mir/visibility.h"
344 #include "mir_protobuf.pb.h"
345
346 namespace mir
347@@ -27,7 +28,7 @@
348 {
349 namespace detail
350 {
351-class DisplayServer : public mir::protobuf::DisplayServer
352+class MIR_INTERNAL DisplayServer : public mir::protobuf::DisplayServer
353 {
354 public:
355 using mir::protobuf::DisplayServer::DisplayServer;
356
357=== modified file 'src/server/frontend/message_receiver.h'
358--- src/server/frontend/message_receiver.h 2014-06-03 11:04:15 +0000
359+++ src/server/frontend/message_receiver.h 2014-07-18 06:57:43 +0000
360@@ -18,6 +18,7 @@
361 #ifndef MIR_FRONTEND_MESSAGE_RECEIVER_H_
362 #define MIR_FRONTEND_MESSAGE_RECEIVER_H_
363
364+#include "mir/visibility.h"
365 #include <functional>
366 #include <boost/asio.hpp>
367
368
369=== modified file 'src/server/frontend/no_prompt_shell.h'
370--- src/server/frontend/no_prompt_shell.h 2014-07-09 17:04:55 +0000
371+++ src/server/frontend/no_prompt_shell.h 2014-07-18 06:57:43 +0000
372@@ -19,13 +19,14 @@
373 #ifndef MIR_FRONTEND_NO_PROMPT_SHELL_H_
374 #define MIR_FRONTEND_NO_PROMPT_SHELL_H_
375
376+#include "mir/visibility.h"
377 #include "shell_wrapper.h"
378
379 namespace mir
380 {
381 namespace frontend
382 {
383-class NoPromptShell : public ShellWrapper
384+class MIR_INTERNAL NoPromptShell : public ShellWrapper
385 {
386 public:
387
388
389=== modified file 'src/server/frontend/protobuf_ipc_factory.h'
390--- src/server/frontend/protobuf_ipc_factory.h 2014-06-03 11:04:15 +0000
391+++ src/server/frontend/protobuf_ipc_factory.h 2014-07-18 06:57:43 +0000
392@@ -19,6 +19,7 @@
393 #ifndef MIR_FRONTEND_PROTOBUF_IPC_FACTORY_H_
394 #define MIR_FRONTEND_PROTOBUF_IPC_FACTORY_H_
395
396+#include "mir/visibility.h"
397 #include <sys/types.h>
398
399 #include <memory>
400
401=== modified file 'src/server/frontend/protobuf_message_processor.h'
402--- src/server/frontend/protobuf_message_processor.h 2014-06-03 11:04:15 +0000
403+++ src/server/frontend/protobuf_message_processor.h 2014-07-18 06:57:43 +0000
404@@ -20,6 +20,7 @@
405 #ifndef MIR_FRONTEND_PROTOBUF_MESSAGE_PROCESSOR_H_
406 #define MIR_FRONTEND_PROTOBUF_MESSAGE_PROCESSOR_H_
407
408+#include "mir/visibility.h"
409 #include "mir/frontend/message_processor.h"
410
411 #include "mir_protobuf.pb.h"
412@@ -37,7 +38,7 @@
413 class DisplayServer;
414 class ProtobufMessageSender;
415
416-class ProtobufMessageProcessor : public MessageProcessor
417+class MIR_INTERNAL ProtobufMessageProcessor : public MessageProcessor
418 {
419 public:
420 ProtobufMessageProcessor(
421
422=== modified file 'src/server/frontend/protobuf_responder.h'
423--- src/server/frontend/protobuf_responder.h 2014-05-20 03:37:18 +0000
424+++ src/server/frontend/protobuf_responder.h 2014-07-18 06:57:43 +0000
425@@ -19,6 +19,7 @@
426 #ifndef MIR_FRONTEND_PROTOBUF_RESPONDER_H_
427 #define MIR_FRONTEND_PROTOBUF_RESPONDER_H_
428
429+#include "mir/visibility.h"
430 #include "mir/frontend/protobuf_message_sender.h"
431 #include "mir_protobuf_wire.pb.h"
432
433@@ -34,7 +35,7 @@
434 {
435 class MessageSender;
436
437-class ProtobufResponder : public ProtobufMessageSender
438+class MIR_INTERNAL ProtobufResponder : public ProtobufMessageSender
439 {
440 public:
441 ProtobufResponder(
442
443=== modified file 'src/server/frontend/published_socket_connector.h'
444--- src/server/frontend/published_socket_connector.h 2014-06-02 17:07:02 +0000
445+++ src/server/frontend/published_socket_connector.h 2014-07-18 06:57:43 +0000
446@@ -19,6 +19,7 @@
447 #ifndef MIR_FRONTEND_PROTOBUF_ASIO_COMMUNICATOR_H_
448 #define MIR_FRONTEND_PROTOBUF_ASIO_COMMUNICATOR_H_
449
450+#include "mir/visibility.h"
451 #include "mir/frontend/connector.h"
452
453 #include <boost/asio.hpp>
454@@ -46,7 +47,7 @@
455 class ConnectorReport;
456
457 /// provides a client-side socket fd for each connection
458-class BasicConnector : public Connector
459+class MIR_INTERNAL BasicConnector : public Connector
460 {
461 public:
462 explicit BasicConnector(
463@@ -74,7 +75,7 @@
464 };
465
466 /// Accept connections over a published socket
467-class PublishedSocketConnector : public BasicConnector
468+class MIR_INTERNAL PublishedSocketConnector : public BasicConnector
469 {
470 public:
471 explicit PublishedSocketConnector(
472
473=== modified file 'src/server/frontend/resource_cache.h'
474--- src/server/frontend/resource_cache.h 2014-03-06 06:05:17 +0000
475+++ src/server/frontend/resource_cache.h 2014-07-18 06:57:43 +0000
476@@ -19,6 +19,7 @@
477 #ifndef MIR_FRONTEND_RESOURCE_CACHE_H_
478 #define MIR_FRONTEND_RESOURCE_CACHE_H_
479
480+#include "mir/visibility.h"
481 #include "mir_protobuf.pb.h"
482
483 #include <map>
484@@ -31,7 +32,7 @@
485 {
486
487 // Used to save resources that must be retained until a call completes.
488-class ResourceCache
489+class MIR_INTERNAL ResourceCache
490 {
491 public:
492 void save_resource(google::protobuf::Message* key, std::shared_ptr<void> const& value);
493
494=== modified file 'src/server/frontend/session_mediator.h'
495--- src/server/frontend/session_mediator.h 2014-07-09 17:04:55 +0000
496+++ src/server/frontend/session_mediator.h 2014-07-18 06:57:43 +0000
497@@ -19,6 +19,7 @@
498 #ifndef MIR_FRONTEND_SESSION_MEDIATOR_H_
499 #define MIR_FRONTEND_SESSION_MEDIATOR_H_
500
501+#include "mir/visibility.h"
502 #include "display_server.h"
503 #include "mir/frontend/connection_context.h"
504 #include "mir/frontend/surface_id.h"
505@@ -61,7 +62,7 @@
506 class PromptSession;
507
508 // SessionMediator relays requests from the client process into the server.
509-class SessionMediator : public detail::DisplayServer
510+class MIR_INTERNAL SessionMediator : public detail::DisplayServer
511 {
512 public:
513
514
515=== modified file 'src/server/frontend/socket_connection.h'
516--- src/server/frontend/socket_connection.h 2014-06-02 17:07:02 +0000
517+++ src/server/frontend/socket_connection.h 2014-07-18 06:57:43 +0000
518@@ -20,6 +20,7 @@
519 #ifndef MIR_FRONTEND_DETAIL_SOCKET_CONNECTION_H_
520 #define MIR_FRONTEND_DETAIL_SOCKET_CONNECTION_H_
521
522+#include "mir/visibility.h"
523 #include "mir/frontend/connections.h"
524
525 #include <boost/asio.hpp>
526
527=== modified file 'src/server/frontend/socket_messenger.h'
528--- src/server/frontend/socket_messenger.h 2014-06-03 11:04:15 +0000
529+++ src/server/frontend/socket_messenger.h 2014-07-18 06:57:43 +0000
530@@ -18,6 +18,7 @@
531
532 #ifndef MIR_FRONTEND_SOCKET_MESSENGER_H_
533 #define MIR_FRONTEND_SOCKET_MESSENGER_H_
534+#include "mir/visibility.h"
535 #include "message_sender.h"
536 #include "message_receiver.h"
537 #include "mir/frontend/session_credentials.h"
538@@ -29,8 +30,8 @@
539 {
540 namespace detail
541 {
542-class SocketMessenger : public MessageSender,
543- public MessageReceiver
544+class MIR_INTERNAL SocketMessenger : public MessageSender,
545+ public MessageReceiver
546 {
547 public:
548 SocketMessenger(std::shared_ptr<boost::asio::local::stream_protocol::socket> const& socket);
549
550=== modified file 'src/server/graphics/default_display_configuration_policy.h'
551--- src/server/graphics/default_display_configuration_policy.h 2014-03-06 06:05:17 +0000
552+++ src/server/graphics/default_display_configuration_policy.h 2014-07-18 06:57:43 +0000
553@@ -16,6 +16,7 @@
554 #ifndef MIR_GRAPHICS_DEFAULT_DISPLAY_CONFIGURATION_POLICY_H_
555 #define MIR_GRAPHICS_DEFAULT_DISPLAY_CONFIGURATION_POLICY_H_
556
557+#include "mir/visibility.h"
558 #include "mir/graphics/display_configuration_policy.h"
559
560 namespace mir
561@@ -23,7 +24,7 @@
562 namespace graphics
563 {
564
565-class DefaultDisplayConfigurationPolicy : public DisplayConfigurationPolicy
566+class MIR_INTERNAL DefaultDisplayConfigurationPolicy : public DisplayConfigurationPolicy
567 {
568 public:
569 void apply_to(DisplayConfiguration& conf);
570
571=== modified file 'src/server/graphics/nested/nested_display.h'
572--- src/server/graphics/nested/nested_display.h 2014-06-02 17:07:02 +0000
573+++ src/server/graphics/nested/nested_display.h 2014-07-18 06:57:43 +0000
574@@ -19,6 +19,7 @@
575 #ifndef MIR_GRAPHICS_NESTED_NESTED_DISPLAY_H_
576 #define MIR_GRAPHICS_NESTED_NESTED_DISPLAY_H_
577
578+#include "mir/visibility.h"
579 #include "mir/graphics/display.h"
580 #include "mir/graphics/display_buffer.h"
581 #include "mir/graphics/display_configuration.h"
582@@ -50,7 +51,7 @@
583 namespace detail
584 {
585
586-class EGLSurfaceHandle
587+class MIR_INTERNAL EGLSurfaceHandle
588 {
589 public:
590 explicit EGLSurfaceHandle(EGLDisplay display, EGLNativeWindowType native_window, EGLConfig cfg);
591@@ -63,7 +64,7 @@
592 EGLSurface const egl_surface;
593 };
594
595-class EGLDisplayHandle
596+class MIR_INTERNAL EGLDisplayHandle
597 {
598 public:
599 EGLDisplayHandle(EGLNativeDisplayType native_display,
600@@ -91,7 +92,7 @@
601
602 class HostConnection;
603
604-class NestedDisplay : public Display
605+class MIR_INTERNAL NestedDisplay : public Display
606 {
607 public:
608 NestedDisplay(
609
610=== modified file 'src/server/graphics/nested/nested_output.h'
611--- src/server/graphics/nested/nested_output.h 2014-06-05 20:35:46 +0000
612+++ src/server/graphics/nested/nested_output.h 2014-07-18 06:57:43 +0000
613@@ -19,6 +19,7 @@
614 #ifndef MIR_GRAPHICS_NESTED_DETAIL_NESTED_OUTPUT_H_
615 #define MIR_GRAPHICS_NESTED_DETAIL_NESTED_OUTPUT_H_
616
617+#include "mir/visibility.h"
618 #include "nested_display.h"
619
620 namespace mir
621@@ -32,7 +33,7 @@
622 namespace detail
623 {
624
625-class NestedOutput : public DisplayBuffer
626+class MIR_INTERNAL NestedOutput : public DisplayBuffer
627 {
628 public:
629 NestedOutput(
630
631=== modified file 'src/server/graphics/nested/nested_platform.h'
632--- src/server/graphics/nested/nested_platform.h 2014-06-16 23:37:57 +0000
633+++ src/server/graphics/nested/nested_platform.h 2014-07-18 06:57:43 +0000
634@@ -19,6 +19,7 @@
635 #ifndef MIR_GRAPHICS_NESTED_NESTED_PLATFORM_H_
636 #define MIR_GRAPHICS_NESTED_NESTED_PLATFORM_H_
637
638+#include "mir/visibility.h"
639 #include "mir/graphics/platform.h"
640 #include "mir/graphics/native_platform.h"
641 #include "host_connection.h"
642@@ -31,7 +32,7 @@
643 namespace nested
644 {
645
646-class NestedPlatform : public Platform
647+class MIR_INTERNAL NestedPlatform : public Platform
648 {
649 public:
650 NestedPlatform(
651
652=== modified file 'src/server/graphics/offscreen/display.h'
653--- src/server/graphics/offscreen/display.h 2014-06-02 17:07:02 +0000
654+++ src/server/graphics/offscreen/display.h 2014-07-18 06:57:43 +0000
655@@ -19,6 +19,7 @@
656 #ifndef MIR_GRAPHICS_OFFSCREEN_DISPLAY_H_
657 #define MIR_GRAPHICS_OFFSCREEN_DISPLAY_H_
658
659+#include "mir/visibility.h"
660 #include "mir/graphics/display.h"
661 #include "display_configuration.h"
662 #include "mir/graphics/surfaceless_egl_context.h"
663@@ -42,7 +43,7 @@
664 namespace detail
665 {
666
667-class EGLDisplayHandle
668+class MIR_INTERNAL EGLDisplayHandle
669 {
670 public:
671 explicit EGLDisplayHandle(EGLNativeDisplayType native_type);
672@@ -61,7 +62,7 @@
673
674 }
675
676-class Display : public graphics::Display
677+class MIR_INTERNAL Display : public graphics::Display
678 {
679 public:
680 Display(std::shared_ptr<BasicPlatform> const& basic_platform,
681
682=== modified file 'src/server/graphics/offscreen/display_configuration.h'
683--- src/server/graphics/offscreen/display_configuration.h 2014-03-26 05:48:59 +0000
684+++ src/server/graphics/offscreen/display_configuration.h 2014-07-18 06:57:43 +0000
685@@ -17,6 +17,7 @@
686 #ifndef MIR_GRAPHICS_OFFSCREEN_DISPLAY_CONFIGURATION_H_
687 #define MIR_GRAPHICS_OFFSCREEN_DISPLAY_CONFIGURATION_H_
688
689+#include "mir/visibility.h"
690 #include "mir/graphics/display_configuration.h"
691
692 namespace mir
693@@ -26,7 +27,7 @@
694 namespace offscreen
695 {
696
697-class DisplayConfiguration : public graphics::DisplayConfiguration
698+class MIR_INTERNAL DisplayConfiguration : public graphics::DisplayConfiguration
699 {
700 public:
701 DisplayConfiguration(geometry::Size const& display_size);
702
703=== modified file 'src/server/graphics/program_factory.h'
704--- src/server/graphics/program_factory.h 2014-05-20 20:14:47 +0000
705+++ src/server/graphics/program_factory.h 2014-07-18 06:57:43 +0000
706@@ -19,6 +19,7 @@
707 #ifndef MIR_GRAPHICS_GL_RENDERER_FACTORY_H_
708 #define MIR_GRAPHICS_GL_RENDERER_FACTORY_H_
709
710+#include "mir/visibility.h"
711 #include "mir/graphics/gl_program_factory.h"
712 #include "mir/graphics/gl_program.h"
713 #include "mir/graphics/gl_texture_cache.h"
714@@ -28,7 +29,7 @@
715 {
716 namespace graphics
717 {
718-class ProgramFactory : public GLProgramFactory
719+class MIR_INTERNAL ProgramFactory : public GLProgramFactory
720 {
721 public:
722 std::unique_ptr<GLProgram> create_gl_program(std::string const&, std::string const&) const override;
723
724=== modified file 'src/server/input/android/android_input_manager.h'
725--- src/server/input/android/android_input_manager.h 2014-06-02 17:07:02 +0000
726+++ src/server/input/android/android_input_manager.h 2014-07-18 06:57:43 +0000
727@@ -20,6 +20,7 @@
728 #ifndef MIR_INPUT_ANDROID_INPUT_MANAGER_H_
729 #define MIR_INPUT_ANDROID_INPUT_MANAGER_H_
730
731+#include "mir/visibility.h"
732 #include "mir/input/input_manager.h"
733
734 #include <memory>
735@@ -44,7 +45,7 @@
736 /// Encapsulates the instances of the Android input stack that might require startup and
737 // shutdown calls, that is to say an EventHub tied to an InputReader tied to an
738 // InputDispatcher.
739-class InputManager : public input::InputManager
740+class MIR_INTERNAL InputManager : public input::InputManager
741 {
742 public:
743 explicit InputManager(std::shared_ptr<droidinput::EventHubInterface> const& event_hub,
744
745=== modified file 'src/server/input/android/android_input_reader_policy.h'
746--- src/server/input/android/android_input_reader_policy.h 2014-06-09 18:45:21 +0000
747+++ src/server/input/android/android_input_reader_policy.h 2014-07-18 06:57:43 +0000
748@@ -18,6 +18,7 @@
749 #ifndef MIR_ANDROID_INPUT_READER_POLICY_H_
750 #define MIR_ANDROID_INPUT_READER_POLICY_H_
751
752+#include "mir/visibility.h"
753 #include "rudimentary_input_reader_policy.h"
754
755 #include <memory>
756@@ -31,7 +32,7 @@
757 namespace android
758 {
759
760-class InputReaderPolicy : public RudimentaryInputReaderPolicy
761+class MIR_INTERNAL InputReaderPolicy : public RudimentaryInputReaderPolicy
762 {
763 public:
764 explicit InputReaderPolicy(std::shared_ptr<InputRegion> const& input_region,
765
766=== modified file 'src/server/input/android/android_input_registrar.h'
767--- src/server/input/android/android_input_registrar.h 2014-06-03 11:04:15 +0000
768+++ src/server/input/android/android_input_registrar.h 2014-07-18 06:57:43 +0000
769@@ -19,6 +19,7 @@
770 #ifndef MIR_INPUT_ANDROID_REGISTRAR_H_
771 #define MIR_INPUT_ANDROID_REGISTRAR_H_
772
773+#include "mir/visibility.h"
774 #include "android_window_handle_repository.h"
775
776 #include "mir/scene/null_observer.h"
777@@ -54,7 +55,7 @@
778 class InputConfiguration;
779 class InputTargeter;
780
781-class InputRegistrar : public WindowHandleRepository
782+class MIR_INTERNAL InputRegistrar : public WindowHandleRepository
783 {
784 public:
785 explicit InputRegistrar(std::shared_ptr<mir::compositor::Scene> const& scene);
786
787=== modified file 'src/server/input/android/android_input_target_enumerator.h'
788--- src/server/input/android/android_input_target_enumerator.h 2014-05-20 03:37:18 +0000
789+++ src/server/input/android/android_input_target_enumerator.h 2014-07-18 06:57:43 +0000
790@@ -19,6 +19,7 @@
791 #ifndef MIR_INPUT_ANDROID_TARGET_ENUMERATOR_H_
792 #define MIR_INPUT_ANDROID_TARGET_ENUMERATOR_H_
793
794+#include "mir/visibility.h"
795 #include <InputEnumerator.h>
796
797 #include <utils/StrongPointer.h>
798@@ -46,7 +47,7 @@
799 {
800 class WindowHandleRepository;
801
802-class InputTargetEnumerator : public droidinput::InputEnumerator
803+class MIR_INTERNAL InputTargetEnumerator : public droidinput::InputEnumerator
804 {
805 public:
806 explicit InputTargetEnumerator(std::shared_ptr<input::InputTargets> const& targets,
807
808=== modified file 'src/server/input/android/android_input_targeter.h'
809--- src/server/input/android/android_input_targeter.h 2014-05-21 02:24:48 +0000
810+++ src/server/input/android/android_input_targeter.h 2014-07-18 06:57:43 +0000
811@@ -19,6 +19,7 @@
812 #ifndef MIR_INPUT_ANDROID_TARGET_H_
813 #define MIR_INPUT_ANDROID_TARGET_H_
814
815+#include "mir/visibility.h"
816 #include "mir/shell/input_targeter.h"
817
818 #include <mutex>
819@@ -40,7 +41,7 @@
820 class InputConfiguration;
821 class WindowHandleRepository;
822
823-class InputTargeter : public shell::InputTargeter
824+class MIR_INTERNAL InputTargeter : public shell::InputTargeter
825 {
826 public:
827 explicit InputTargeter(std::shared_ptr<droidinput::InputDispatcherInterface> const& input_dispatcher,
828
829=== modified file 'src/server/input/android/android_input_thread.h'
830--- src/server/input/android/android_input_thread.h 2013-04-24 05:22:20 +0000
831+++ src/server/input/android/android_input_thread.h 2014-07-18 06:57:43 +0000
832@@ -19,13 +19,15 @@
833 #ifndef MIR_INPUT_ANDROID_INPUT_THREAD_H_
834 #define MIR_INPUT_ANDROID_INPUT_THREAD_H_
835
836+#include "mir/visibility.h"
837+
838 namespace mir
839 {
840 namespace input
841 {
842 namespace android
843 {
844-class InputThread
845+class MIR_INTERNAL InputThread
846 {
847 public:
848 virtual ~InputThread() {}
849
850=== modified file 'src/server/input/android/android_pointer_controller.h'
851--- src/server/input/android/android_pointer_controller.h 2013-08-28 03:41:48 +0000
852+++ src/server/input/android/android_pointer_controller.h 2014-07-18 06:57:43 +0000
853@@ -19,6 +19,7 @@
854 #ifndef MIR_INPUT_ANDROID_POINTER_CONTROLLER_H__
855 #define MIR_INPUT_ANDROID_POINTER_CONTROLLER_H__
856
857+#include "mir/visibility.h"
858 #include "dummy_android_pointer_controller.h"
859
860 #include "mir/input/cursor_listener.h"
861@@ -33,7 +34,7 @@
862 class InputRegion;
863 namespace android
864 {
865-class PointerController : public DummyPointerController
866+class MIR_INTERNAL PointerController : public DummyPointerController
867 {
868 public:
869 explicit PointerController(std::shared_ptr<InputRegion> const& input_region);
870
871=== modified file 'src/server/input/android/android_window_handle_repository.h'
872--- src/server/input/android/android_window_handle_repository.h 2014-03-06 06:05:17 +0000
873+++ src/server/input/android/android_window_handle_repository.h 2014-07-18 06:57:43 +0000
874@@ -19,6 +19,7 @@
875 #ifndef MIR_INPUT_ANDROID_WINDOW_HANDLE_REPOSITORY_H_
876 #define MIR_INPUT_ANDROID_WINDOW_HANDLE_REPOSITORY_H_
877
878+#include "mir/visibility.h"
879 #include <utils/StrongPointer.h>
880
881 #include <memory>
882@@ -40,7 +41,7 @@
883
884 /// Interface internal to mir::input::android used for tracking the assosciation between droidinput::InputWindowHandle
885 /// and mir::input::InputChannel
886-class WindowHandleRepository
887+class MIR_INTERNAL WindowHandleRepository
888 {
889 public:
890 virtual ~WindowHandleRepository() = default;
891
892=== modified file 'src/server/input/android/common_input_thread.h'
893--- src/server/input/android/common_input_thread.h 2014-05-14 14:35:23 +0000
894+++ src/server/input/android/common_input_thread.h 2014-07-18 06:57:43 +0000
895@@ -19,6 +19,7 @@
896 #ifndef MIR_INPUT_ANDROID_COMMON_INPUT_THREAD_H_
897 #define MIR_INPUT_ANDROID_COMMON_INPUT_THREAD_H_
898
899+#include "mir/visibility.h"
900 #include "android_input_thread.h"
901
902 #include <utils/StrongPointer.h>
903@@ -34,7 +35,7 @@
904 {
905 namespace android
906 {
907-class CommonInputThread : public InputThread
908+class MIR_INTERNAL CommonInputThread : public InputThread
909 {
910 public:
911 CommonInputThread(std::string const& name, droidinput::sp<droidinput::Thread> const& thread);
912
913=== modified file 'src/server/input/android/input_channel_factory.h'
914--- src/server/input/android/input_channel_factory.h 2014-04-10 12:59:14 +0000
915+++ src/server/input/android/input_channel_factory.h 2014-07-18 06:57:43 +0000
916@@ -19,6 +19,7 @@
917 #ifndef MIR_INPUT_ANDROID_INPUT_CHANNEL_FACTORY_H_
918 #define MIR_INPUT_ANDROID_INPUT_CHANNEL_FACTORY_H_
919
920+#include "mir/visibility.h"
921 #include "mir/input/input_channel_factory.h"
922
923 namespace mir
924@@ -27,7 +28,7 @@
925 {
926 namespace android
927 {
928-class InputChannelFactory : public mir::input::InputChannelFactory
929+class MIR_INTERNAL InputChannelFactory : public mir::input::InputChannelFactory
930 {
931 public:
932 std::shared_ptr<mir::input::InputChannel> make_input_channel() override;
933
934=== modified file 'src/server/input/android/input_send_entry.h'
935--- src/server/input/android/input_send_entry.h 2014-06-23 17:40:57 +0000
936+++ src/server/input/android/input_send_entry.h 2014-07-18 06:57:43 +0000
937@@ -19,6 +19,7 @@
938 #ifndef MIR_INPUT_ANDROID_INPUT_SEND_ENTRY_H_
939 #define MIR_INPUT_ANDROID_INPUT_SEND_ENTRY_H_
940
941+#include "mir/visibility.h"
942 #include "mir_toolkit/event.h"
943 #include <memory>
944
945@@ -33,7 +34,7 @@
946 /*!
947 * Stores information about an input event to be sent to a client
948 */
949-struct InputSendEntry
950+struct MIR_INTERNAL InputSendEntry
951 {
952 uint32_t sequence_id;
953 MirEvent event;
954
955=== modified file 'src/server/input/android/rudimentary_input_reader_policy.h'
956--- src/server/input/android/rudimentary_input_reader_policy.h 2013-04-24 05:22:20 +0000
957+++ src/server/input/android/rudimentary_input_reader_policy.h 2014-07-18 06:57:43 +0000
958@@ -18,6 +18,8 @@
959 #ifndef MIR_INPUT_ANDROID_RUDIMENTARY_INPUT_READER_POLICY_H_
960 #define MIR_INPUT_ANDROID_RUDIMENTARY_INPUT_READER_POLICY_H_
961
962+#include "mir/visibility.h"
963+
964 // from android
965 #include <InputReader.h>
966
967@@ -29,7 +31,7 @@
968 {
969 namespace android
970 {
971-class RudimentaryInputReaderPolicy : public droidinput::InputReaderPolicyInterface
972+class MIR_INTERNAL RudimentaryInputReaderPolicy : public droidinput::InputReaderPolicyInterface
973 {
974 public:
975 // From InputReaderPolicyInterface
976
977=== modified file 'src/server/input/cursor_controller.h'
978--- src/server/input/cursor_controller.h 2014-06-11 17:42:49 +0000
979+++ src/server/input/cursor_controller.h 2014-07-18 06:57:43 +0000
980@@ -19,6 +19,7 @@
981 #ifndef MIR_INPUT_CURSOR_CONTROLLER_H_
982 #define MIR_INPUT_CURSOR_CONTROLLER_H_
983
984+#include "mir/visibility.h"
985 #include "mir/input/cursor_listener.h"
986 #include "mir/geometry/point.h"
987
988@@ -41,7 +42,7 @@
989 {
990 class InputTargets;
991
992-class CursorController : public CursorListener
993+class MIR_INTERNAL CursorController : public CursorListener
994 {
995 public:
996 CursorController(std::shared_ptr<InputTargets> const& input_targets,
997
998=== modified file 'src/server/input/default_configuration.cpp'
999--- src/server/input/default_configuration.cpp 2014-07-09 10:48:47 +0000
1000+++ src/server/input/default_configuration.cpp 2014-07-18 06:57:43 +0000
1001@@ -118,7 +118,7 @@
1002 });
1003 }
1004
1005-std::shared_ptr<mia::InputRegistrar>
1006+MIR_API std::shared_ptr<mia::InputRegistrar>
1007 mir::DefaultServerConfiguration::the_input_registrar()
1008 {
1009 return input_registrar(
1010
1011=== modified file 'src/server/input/event_filter_chain.h'
1012--- src/server/input/event_filter_chain.h 2014-03-06 06:05:17 +0000
1013+++ src/server/input/event_filter_chain.h 2014-07-18 06:57:43 +0000
1014@@ -19,6 +19,7 @@
1015 #ifndef MIR_INPUT_EVENT_FILTER_CHAIN_H_
1016 #define MIR_INPUT_EVENT_FILTER_CHAIN_H_
1017
1018+#include "mir/visibility.h"
1019 #include "mir/input/composite_event_filter.h"
1020
1021 #include <vector>
1022@@ -28,7 +29,7 @@
1023 namespace input
1024 {
1025
1026-class EventFilterChain : public CompositeEventFilter
1027+class MIR_INTERNAL EventFilterChain : public CompositeEventFilter
1028 {
1029 public:
1030 explicit EventFilterChain(std::initializer_list<std::shared_ptr<EventFilter> const> const& values);
1031
1032=== modified file 'src/server/input/null_input_channel_factory.h'
1033--- src/server/input/null_input_channel_factory.h 2014-06-24 15:28:09 +0000
1034+++ src/server/input/null_input_channel_factory.h 2014-07-18 06:57:43 +0000
1035@@ -19,6 +19,7 @@
1036 #ifndef MIR_INPUT_NULL_INPUT_CHANNEL_FACTORY_H_
1037 #define MIR_INPUT_NULL_INPUT_CHANNEL_FACTORY_H_
1038
1039+#include "mir/visibility.h"
1040 #include "mir/input/input_channel_factory.h"
1041
1042 namespace mir
1043@@ -27,7 +28,7 @@
1044 {
1045 class InputChannel;
1046
1047-class NullInputChannelFactory : public mir::input::InputChannelFactory
1048+class MIR_INTERNAL NullInputChannelFactory : public mir::input::InputChannelFactory
1049 {
1050 std::shared_ptr<mir::input::InputChannel> make_input_channel() override;
1051 };
1052
1053=== modified file 'src/server/input/null_input_dispatcher.h'
1054--- src/server/input/null_input_dispatcher.h 2014-05-08 15:23:20 +0000
1055+++ src/server/input/null_input_dispatcher.h 2014-07-18 06:57:43 +0000
1056@@ -19,6 +19,7 @@
1057 #ifndef MIR_INPUT_NULL_INPUT_DISPATCHER_H_
1058 #define MIR_INPUT_NULL_INPUT_DISPATCHER_H_
1059
1060+#include "mir/visibility.h"
1061 #include "mir/input/input_dispatcher.h"
1062
1063 namespace mir
1064@@ -26,7 +27,7 @@
1065 namespace input
1066 {
1067
1068-class NullInputDispatcher : public mir::input::InputDispatcher
1069+class MIR_INTERNAL NullInputDispatcher : public mir::input::InputDispatcher
1070 {
1071 public:
1072 void configuration_changed(nsecs_t when) override;
1073
1074=== modified file 'src/server/input/null_input_manager.h'
1075--- src/server/input/null_input_manager.h 2014-05-07 09:11:52 +0000
1076+++ src/server/input/null_input_manager.h 2014-07-18 06:57:43 +0000
1077@@ -19,13 +19,14 @@
1078 #ifndef MIR_INPUT_NULL_INPUT_MANAGER_H_
1079 #define MIR_INPUT_NULL_INPUT_MANAGER_H_
1080
1081+#include "mir/visibility.h"
1082 #include "mir/input/input_manager.h"
1083
1084 namespace mir
1085 {
1086 namespace input
1087 {
1088-class NullInputManager : public input::InputManager
1089+class MIR_INTERNAL NullInputManager : public input::InputManager
1090 {
1091 void start() override
1092 {
1093
1094=== modified file 'src/server/input/null_input_send_observer.h'
1095--- src/server/input/null_input_send_observer.h 2014-06-23 17:40:57 +0000
1096+++ src/server/input/null_input_send_observer.h 2014-07-18 06:57:43 +0000
1097@@ -19,6 +19,7 @@
1098 #ifndef MIR_INPUT_NULL_INPUT_SEND_OBSERVER_H_
1099 #define MIR_INPUT_NULL_INPUT_SEND_OBSERVER_H_
1100
1101+#include "mir/visibility.h"
1102 #include "mir/input/input_send_observer.h"
1103
1104 namespace mir
1105@@ -26,7 +27,7 @@
1106 namespace input
1107 {
1108
1109-class NullInputSendObserver : public InputSendObserver
1110+class MIR_INTERNAL NullInputSendObserver : public InputSendObserver
1111 {
1112 public:
1113 void send_failed(MirEvent const& /*event*/, input::Surface* /*surface*/, FailureReason /*reason*/) override
1114
1115=== modified file 'src/server/report/lttng/compositor_report.h'
1116--- src/server/report/lttng/compositor_report.h 2014-02-09 16:18:16 +0000
1117+++ src/server/report/lttng/compositor_report.h 2014-07-18 06:57:43 +0000
1118@@ -19,6 +19,7 @@
1119 #ifndef MIR_REPORT_LTTNG_COMPOSITOR_REPORT_H_
1120 #define MIR_REPORT_LTTNG_COMPOSITOR_REPORT_H_
1121
1122+#include "mir/visibility.h"
1123 #include "server_tracepoint_provider.h"
1124
1125 #include "mir/compositor/compositor_report.h"
1126@@ -30,7 +31,7 @@
1127 namespace lttng
1128 {
1129
1130-class CompositorReport : public compositor::CompositorReport
1131+class MIR_INTERNAL CompositorReport : public compositor::CompositorReport
1132 {
1133 public:
1134 CompositorReport() = default;
1135
1136=== modified file 'src/server/report/lttng/input_report.h'
1137--- src/server/report/lttng/input_report.h 2014-03-06 06:05:17 +0000
1138+++ src/server/report/lttng/input_report.h 2014-07-18 06:57:43 +0000
1139@@ -19,6 +19,7 @@
1140 #ifndef MIR_REPORT_LTTNG_INPUT_REPORT_H_
1141 #define MIR_REPORT_LTTNG_INPUT_REPORT_H_
1142
1143+#include "mir/visibility.h"
1144 #include "server_tracepoint_provider.h"
1145
1146 #include "mir/input/input_report.h"
1147@@ -30,7 +31,7 @@
1148 namespace lttng
1149 {
1150
1151-class InputReport : public input::InputReport
1152+class MIR_INTERNAL InputReport : public input::InputReport
1153 {
1154 public:
1155 InputReport() = default;
1156
1157=== modified file 'src/server/report/lttng/message_processor_report.h'
1158--- src/server/report/lttng/message_processor_report.h 2014-03-06 06:05:17 +0000
1159+++ src/server/report/lttng/message_processor_report.h 2014-07-18 06:57:43 +0000
1160@@ -19,6 +19,7 @@
1161 #ifndef MIR_REPORT_LTTNG_MESSAGE_PROCESSOR_REPORT_H_
1162 #define MIR_REPORT_LTTNG_MESSAGE_PROCESSOR_REPORT_H_
1163
1164+#include "mir/visibility.h"
1165 #include "server_tracepoint_provider.h"
1166
1167 #include "mir/frontend/message_processor_report.h"
1168@@ -30,7 +31,7 @@
1169 namespace lttng
1170 {
1171
1172-class MessageProcessorReport : public mir::frontend::MessageProcessorReport
1173+class MIR_INTERNAL MessageProcessorReport : public mir::frontend::MessageProcessorReport
1174 {
1175 public:
1176 void received_invocation(void const* mediator, int id, std::string const& method);
1177
1178=== modified file 'src/server/report/lttng/scene_report.h'
1179--- src/server/report/lttng/scene_report.h 2014-02-09 16:18:16 +0000
1180+++ src/server/report/lttng/scene_report.h 2014-07-18 06:57:43 +0000
1181@@ -20,6 +20,7 @@
1182 #ifndef MIR_REPORT_LTTNG_SCENE_REPORT_H_
1183 #define MIR_REPORT_LTTNG_SCENE_REPORT_H_
1184
1185+#include "mir/visibility.h"
1186 #include "server_tracepoint_provider.h"
1187
1188 #include "mir/scene/scene_report.h"
1189@@ -31,7 +32,7 @@
1190 namespace lttng
1191 {
1192
1193-class SceneReport : public scene::SceneReport
1194+class MIR_INTERNAL SceneReport : public scene::SceneReport
1195 {
1196 public:
1197 void surface_created(BasicSurfaceId id, std::string const& name) override;
1198
1199=== modified file 'src/server/report/lttng_report_factory.h'
1200--- src/server/report/lttng_report_factory.h 2014-02-11 15:18:07 +0000
1201+++ src/server/report/lttng_report_factory.h 2014-07-18 06:57:43 +0000
1202@@ -19,13 +19,14 @@
1203 #ifndef MIR_REPORT_LTTNG_REPORT_FACTORY_H_
1204 #define MIR_REPORT_LTTNG_REPORT_FACTORY_H_
1205
1206+#include "mir/visibility.h"
1207 #include "report_factory.h"
1208
1209 namespace mir
1210 {
1211 namespace report
1212 {
1213-class LttngReportFactory : public report::ReportFactory
1214+class MIR_INTERNAL LttngReportFactory : public report::ReportFactory
1215 {
1216 public:
1217 std::shared_ptr<compositor::CompositorReport> create_compositor_report() override;
1218
1219=== modified file 'src/server/report/null/input_report.h'
1220--- src/server/report/null/input_report.h 2014-03-06 06:05:17 +0000
1221+++ src/server/report/null/input_report.h 2014-07-18 06:57:43 +0000
1222@@ -20,6 +20,7 @@
1223 #ifndef MIR_REPORT_NULL_INPUT_REPORT_H_
1224 #define MIR_REPORT_NULL_INPUT_REPORT_H_
1225
1226+#include "mir/visibility.h"
1227 #include "mir/input/input_report.h"
1228
1229 namespace mir
1230@@ -29,7 +30,7 @@
1231 namespace null
1232 {
1233
1234-class InputReport : public input::InputReport
1235+class MIR_INTERNAL InputReport : public input::InputReport
1236 {
1237 public:
1238 InputReport() = default;
1239
1240=== modified file 'src/server/report/null/scene_report.h'
1241--- src/server/report/null/scene_report.h 2014-02-09 16:18:16 +0000
1242+++ src/server/report/null/scene_report.h 2014-07-18 06:57:43 +0000
1243@@ -21,6 +21,7 @@
1244 #ifndef MIR_REPORT_NULL_SCENE_REPORT_H_
1245 #define MIR_REPORT_NULL_SCENE_REPORT_H_
1246
1247+#include "mir/visibility.h"
1248 #include "mir/scene/scene_report.h"
1249
1250 namespace mir
1251@@ -30,7 +31,7 @@
1252 namespace null
1253 {
1254
1255-class SceneReport : public scene::SceneReport
1256+class MIR_INTERNAL SceneReport : public scene::SceneReport
1257 {
1258 public:
1259 virtual void surface_created(BasicSurfaceId /*id*/, std::string const& /*name*/) override;
1260
1261=== modified file 'src/server/report/null_report_factory.h'
1262--- src/server/report/null_report_factory.h 2014-02-17 22:35:23 +0000
1263+++ src/server/report/null_report_factory.h 2014-07-18 06:57:43 +0000
1264@@ -19,13 +19,14 @@
1265 #ifndef MIR_REPORT_NULL_REPORT_FACTORY_H_
1266 #define MIR_REPORT_NULL_REPORT_FACTORY_H_
1267
1268+#include "mir/visibility.h"
1269 #include "report_factory.h"
1270
1271 namespace mir
1272 {
1273 namespace report
1274 {
1275-class NullReportFactory : public mir::report::ReportFactory
1276+class MIR_INTERNAL NullReportFactory : public mir::report::ReportFactory
1277 {
1278 public:
1279 std::shared_ptr<compositor::CompositorReport> create_compositor_report() override;
1280@@ -37,13 +38,13 @@
1281 std::shared_ptr<input::InputReport> create_input_report() override;
1282 };
1283
1284-std::shared_ptr<compositor::CompositorReport> null_compositor_report();
1285-std::shared_ptr<graphics::DisplayReport> null_display_report();
1286-std::shared_ptr<scene::SceneReport> null_scene_report();
1287-std::shared_ptr<frontend::ConnectorReport> null_connector_report();
1288-std::shared_ptr<frontend::SessionMediatorReport> null_session_mediator_report();
1289-std::shared_ptr<frontend::MessageProcessorReport> null_message_processor_report();
1290-std::shared_ptr<input::InputReport> null_input_report();
1291+MIR_INTERNAL std::shared_ptr<compositor::CompositorReport> null_compositor_report();
1292+MIR_INTERNAL std::shared_ptr<graphics::DisplayReport> null_display_report();
1293+MIR_INTERNAL std::shared_ptr<scene::SceneReport> null_scene_report();
1294+MIR_INTERNAL std::shared_ptr<frontend::ConnectorReport> null_connector_report();
1295+MIR_INTERNAL std::shared_ptr<frontend::SessionMediatorReport> null_session_mediator_report();
1296+MIR_INTERNAL std::shared_ptr<frontend::MessageProcessorReport> null_message_processor_report();
1297+MIR_INTERNAL std::shared_ptr<input::InputReport> null_input_report();
1298
1299 }
1300 }
1301
1302=== modified file 'src/server/scene/broadcasting_session_event_sink.h'
1303--- src/server/scene/broadcasting_session_event_sink.h 2014-04-15 05:31:19 +0000
1304+++ src/server/scene/broadcasting_session_event_sink.h 2014-07-18 06:57:43 +0000
1305@@ -19,6 +19,7 @@
1306 #ifndef MIR_SCENE_BROADCASTING_SESSION_EVENT_SINK_H_
1307 #define MIR_SCENE_BROADCASTING_SESSION_EVENT_SINK_H_
1308
1309+#include "mir/visibility.h"
1310 #include "session_event_sink.h"
1311 #include "session_event_handler_register.h"
1312
1313@@ -29,8 +30,8 @@
1314 {
1315 namespace scene
1316 {
1317-class BroadcastingSessionEventSink : public SessionEventSink,
1318- public SessionEventHandlerRegister
1319+class MIR_INTERNAL BroadcastingSessionEventSink : public SessionEventSink,
1320+ public SessionEventHandlerRegister
1321 {
1322 public:
1323 void handle_focus_change(std::shared_ptr<Session> const& session);
1324
1325=== modified file 'src/server/scene/default_configuration.cpp'
1326--- src/server/scene/default_configuration.cpp 2014-07-08 06:42:38 +0000
1327+++ src/server/scene/default_configuration.cpp 2014-07-18 06:57:43 +0000
1328@@ -100,7 +100,7 @@
1329 return wrapped;
1330 }
1331
1332-std::shared_ptr<ms::BroadcastingSessionEventSink>
1333+MIR_API std::shared_ptr<ms::BroadcastingSessionEventSink>
1334 mir::DefaultServerConfiguration::the_broadcasting_session_event_sink()
1335 {
1336 return broadcasting_session_event_sink(
1337@@ -116,7 +116,7 @@
1338 return the_broadcasting_session_event_sink();
1339 }
1340
1341-std::shared_ptr<ms::SessionEventHandlerRegister>
1342+MIR_API std::shared_ptr<ms::SessionEventHandlerRegister>
1343 mir::DefaultServerConfiguration::the_session_event_handler_register()
1344 {
1345 return the_broadcasting_session_event_sink();
1346@@ -129,7 +129,7 @@
1347 []{ return std::make_shared<ms::DefaultSessionContainer>(); });
1348 }
1349
1350-std::shared_ptr<ms::MediatingDisplayChanger>
1351+MIR_API std::shared_ptr<ms::MediatingDisplayChanger>
1352 mir::DefaultServerConfiguration::the_mediating_display_changer()
1353 {
1354 return mediating_display_changer(
1355
1356=== modified file 'src/server/scene/default_session_container.h'
1357--- src/server/scene/default_session_container.h 2014-04-24 11:24:51 +0000
1358+++ src/server/scene/default_session_container.h 2014-07-18 06:57:43 +0000
1359@@ -23,13 +23,14 @@
1360 #include <memory>
1361 #include <mutex>
1362
1363+#include "mir/visibility.h"
1364 #include "session_container.h"
1365
1366 namespace mir
1367 {
1368 namespace scene
1369 {
1370-class DefaultSessionContainer : public SessionContainer
1371+class MIR_INTERNAL DefaultSessionContainer : public SessionContainer
1372 {
1373 public:
1374 void insert_session(std::shared_ptr<Session> const& session) override;
1375
1376=== modified file 'src/server/scene/gl_pixel_buffer.h'
1377--- src/server/scene/gl_pixel_buffer.h 2014-03-06 06:05:17 +0000
1378+++ src/server/scene/gl_pixel_buffer.h 2014-07-18 06:57:43 +0000
1379@@ -19,6 +19,7 @@
1380 #ifndef MIR_SCENE_GL_PIXEL_BUFFER_H_
1381 #define MIR_SCENE_GL_PIXEL_BUFFER_H_
1382
1383+#include "mir/visibility.h"
1384 #include "pixel_buffer.h"
1385
1386 #include <memory>
1387@@ -37,7 +38,7 @@
1388 namespace scene
1389 {
1390 /** Extracts the pixels from a graphics::Buffer using GL facilities. */
1391-class GLPixelBuffer : public PixelBuffer
1392+class MIR_INTERNAL GLPixelBuffer : public PixelBuffer
1393 {
1394 public:
1395 GLPixelBuffer(std::unique_ptr<graphics::GLContext> gl_context);
1396
1397=== modified file 'src/server/scene/global_event_sender.h'
1398--- src/server/scene/global_event_sender.h 2014-03-18 09:24:36 +0000
1399+++ src/server/scene/global_event_sender.h 2014-07-18 06:57:43 +0000
1400@@ -19,6 +19,7 @@
1401 #ifndef MIR_SCENE_GLOBAL_EVENT_SENDER_H_
1402 #define MIR_SCENE_GLOBAL_EVENT_SENDER_H_
1403
1404+#include "mir/visibility.h"
1405 #include "mir/frontend/event_sink.h"
1406 #include <memory>
1407
1408@@ -28,7 +29,7 @@
1409 {
1410 class SessionContainer;
1411
1412-class GlobalEventSender : public frontend::EventSink
1413+class MIR_INTERNAL GlobalEventSender : public frontend::EventSink
1414 {
1415 public:
1416 GlobalEventSender(std::shared_ptr<SessionContainer> const&);
1417
1418=== modified file 'src/server/scene/mediating_display_changer.h'
1419--- src/server/scene/mediating_display_changer.h 2014-05-21 02:24:48 +0000
1420+++ src/server/scene/mediating_display_changer.h 2014-07-18 06:57:43 +0000
1421@@ -19,6 +19,7 @@
1422 #ifndef MIR_SCENE_MEDIATING_DISPLAY_CHANGER_H_
1423 #define MIR_SCENE_MEDIATING_DISPLAY_CHANGER_H_
1424
1425+#include "mir/visibility.h"
1426 #include "mir/frontend/display_changer.h"
1427 #include "mir/display_changer.h"
1428
1429@@ -41,8 +42,8 @@
1430 class SessionContainer;
1431 class Session;
1432
1433-class MediatingDisplayChanger : public frontend::DisplayChanger,
1434- public mir::DisplayChanger
1435+class MIR_INTERNAL MediatingDisplayChanger : public frontend::DisplayChanger,
1436+ public mir::DisplayChanger
1437 {
1438 public:
1439 MediatingDisplayChanger(
1440
1441=== modified file 'src/server/scene/prompt_session_manager_impl.h'
1442--- src/server/scene/prompt_session_manager_impl.h 2014-07-09 17:04:55 +0000
1443+++ src/server/scene/prompt_session_manager_impl.h 2014-07-18 06:57:43 +0000
1444@@ -19,6 +19,7 @@
1445 #ifndef MIR_SCENE_PROMPT_SESSION_MANAGERIMPL_H_
1446 #define MIR_SCENE_PROMPT_SESSION_MANAGERIMPL_H_
1447
1448+#include "mir/visibility.h"
1449 #include "mir/scene/prompt_session_manager.h"
1450 #include "mir_toolkit/common.h"
1451
1452@@ -36,7 +37,7 @@
1453 class PromptSessionCreationParameters;
1454 class PromptSessionListener;
1455
1456-class PromptSessionManagerImpl : public scene::PromptSessionManager
1457+class MIR_INTERNAL PromptSessionManagerImpl : public scene::PromptSessionManager
1458 {
1459 public:
1460 explicit PromptSessionManagerImpl(
1461
1462=== modified file 'src/server/scene/session_container.h'
1463--- src/server/scene/session_container.h 2014-04-24 11:24:51 +0000
1464+++ src/server/scene/session_container.h 2014-07-18 06:57:43 +0000
1465@@ -19,6 +19,7 @@
1466 #ifndef MIR_SCENE_SESSION_CONTAINER_H_
1467 #define MIR_SCENE_SESSION_CONTAINER_H_
1468
1469+#include "mir/visibility.h"
1470 #include <vector>
1471 #include <memory>
1472 #include <mutex>
1473
1474=== modified file 'src/server/scene/session_event_handler_register.h'
1475--- src/server/scene/session_event_handler_register.h 2014-04-15 05:31:19 +0000
1476+++ src/server/scene/session_event_handler_register.h 2014-07-18 06:57:43 +0000
1477@@ -19,6 +19,7 @@
1478 #ifndef MIR_SCENE_SESSION_EVENT_HANDLER_REGISTER_H_
1479 #define MIR_SCENE_SESSION_EVENT_HANDLER_REGISTER_H_
1480
1481+#include "mir/visibility.h"
1482 #include <functional>
1483 #include <memory>
1484
1485@@ -28,7 +29,7 @@
1486 {
1487 class Session;
1488
1489-class SessionEventHandlerRegister
1490+class MIR_INTERNAL SessionEventHandlerRegister
1491 {
1492 public:
1493 virtual ~SessionEventHandlerRegister() = default;
1494
1495=== modified file 'src/server/scene/session_manager.h'
1496--- src/server/scene/session_manager.h 2014-07-09 17:04:55 +0000
1497+++ src/server/scene/session_manager.h 2014-07-18 06:57:43 +0000
1498@@ -19,6 +19,7 @@
1499 #ifndef MIR_SCENE_APPLICATION_MANAGER_H_
1500 #define MIR_SCENE_APPLICATION_MANAGER_H_
1501
1502+#include "mir/visibility.h"
1503 #include "mir/scene/session_coordinator.h"
1504
1505 #include <mutex>
1506@@ -43,7 +44,7 @@
1507 class PromptSessionManager;
1508
1509
1510-class SessionManager : public SessionCoordinator
1511+class MIR_INTERNAL SessionManager : public SessionCoordinator
1512 {
1513 public:
1514 explicit SessionManager(std::shared_ptr<SurfaceCoordinator> const& surface_coordinator,
1515
1516=== modified file 'src/server/scene/snapshot_strategy.h'
1517--- src/server/scene/snapshot_strategy.h 2014-04-15 05:31:19 +0000
1518+++ src/server/scene/snapshot_strategy.h 2014-07-18 06:57:43 +0000
1519@@ -19,6 +19,7 @@
1520 #ifndef MIR_SCENE_SNAPSHOT_STRATEGY_H_
1521 #define MIR_SCENE_SNAPSHOT_STRATEGY_H_
1522
1523+#include "mir/visibility.h"
1524 #include "mir/scene/snapshot.h"
1525
1526 #include <memory>
1527@@ -29,7 +30,7 @@
1528 {
1529 class SurfaceBufferAccess;
1530
1531-class SnapshotStrategy
1532+class MIR_INTERNAL SnapshotStrategy
1533 {
1534 public:
1535 virtual ~SnapshotStrategy() = default;
1536
1537=== modified file 'src/server/scene/surface_controller.h'
1538--- src/server/scene/surface_controller.h 2014-04-15 10:19:19 +0000
1539+++ src/server/scene/surface_controller.h 2014-07-18 06:57:43 +0000
1540@@ -20,6 +20,7 @@
1541 #ifndef MIR_SCENE_SURFACE_CONTROLLER_H_
1542 #define MIR_SCENE_SURFACE_CONTROLLER_H_
1543
1544+#include "mir/visibility.h"
1545 #include "mir/scene/surface_coordinator.h"
1546
1547 namespace mir
1548@@ -31,7 +32,7 @@
1549 class SurfaceFactory;
1550
1551 /// Will grow up to provide synchronization of model updates
1552-class SurfaceController : public SurfaceCoordinator
1553+class MIR_INTERNAL SurfaceController : public SurfaceCoordinator
1554 {
1555 public:
1556 SurfaceController(
1557
1558=== modified file 'src/server/scene/surface_stack.h'
1559--- src/server/scene/surface_stack.h 2014-07-11 03:33:03 +0000
1560+++ src/server/scene/surface_stack.h 2014-07-18 06:57:43 +0000
1561@@ -19,6 +19,8 @@
1562 #ifndef MIR_SCENE_SURFACE_STACK_H_
1563 #define MIR_SCENE_SURFACE_STACK_H_
1564
1565+#include "mir/visibility.h"
1566+
1567 #include "surface_stack_model.h"
1568
1569 #include "mir/compositor/scene.h"
1570@@ -45,7 +47,7 @@
1571 class SceneReport;
1572 class RenderingTracker;
1573
1574-class Observers : public Observer, BasicObservers<Observer>
1575+class MIR_INTERNAL Observers : public Observer, BasicObservers<Observer>
1576 {
1577 public:
1578 // ms::Observer
1579@@ -59,7 +61,7 @@
1580 using BasicObservers<Observer>::remove;
1581 };
1582
1583-class SurfaceStack : public compositor::Scene, public input::InputTargets, public SurfaceStackModel
1584+class MIR_INTERNAL SurfaceStack : public compositor::Scene, public input::InputTargets, public SurfaceStackModel
1585 {
1586 public:
1587 explicit SurfaceStack(
1588
1589=== modified file 'src/server/scene/threaded_snapshot_strategy.h'
1590--- src/server/scene/threaded_snapshot_strategy.h 2014-04-15 05:31:19 +0000
1591+++ src/server/scene/threaded_snapshot_strategy.h 2014-07-18 06:57:43 +0000
1592@@ -32,7 +32,7 @@
1593 class PixelBuffer;
1594 class SnapshottingFunctor;
1595
1596-class ThreadedSnapshotStrategy : public SnapshotStrategy
1597+class MIR_INTERNAL ThreadedSnapshotStrategy : public SnapshotStrategy
1598 {
1599 public:
1600 ThreadedSnapshotStrategy(std::shared_ptr<PixelBuffer> const& pixels);
1601
1602=== modified file 'src/server/shell/consuming_placement_strategy.h'
1603--- src/server/shell/consuming_placement_strategy.h 2014-04-15 05:31:19 +0000
1604+++ src/server/shell/consuming_placement_strategy.h 2014-07-18 06:57:43 +0000
1605@@ -19,6 +19,7 @@
1606 #ifndef MIR_SHELL_CONSUMING_PLACEMENT_STRATEGY_H_
1607 #define MIR_SHELL_CONSUMING_PLACEMENT_STRATEGY_H_
1608
1609+#include "mir/visibility.h"
1610 #include "mir/scene/placement_strategy.h"
1611
1612 #include <memory>
1613@@ -29,7 +30,7 @@
1614 {
1615 class DisplayLayout;
1616
1617-class ConsumingPlacementStrategy : public scene::PlacementStrategy
1618+class MIR_INTERNAL ConsumingPlacementStrategy : public scene::PlacementStrategy
1619 {
1620 public:
1621 explicit ConsumingPlacementStrategy(
1622
1623=== modified file 'src/server/shell/default_focus_mechanism.h'
1624--- src/server/shell/default_focus_mechanism.h 2014-04-15 05:31:19 +0000
1625+++ src/server/shell/default_focus_mechanism.h 2014-07-18 06:57:43 +0000
1626@@ -19,6 +19,7 @@
1627 #ifndef MIR_SHELL_SINGLE_VISIBILITY_FOCUS_MECHANISM_H_
1628 #define MIR_SHELL_SINGLE_VISIBILITY_FOCUS_MECHANISM_H_
1629
1630+#include "mir/visibility.h"
1631 #include "mir/shell/focus_setter.h"
1632
1633 #include <memory>
1634@@ -32,7 +33,7 @@
1635 {
1636 class InputTargeter;
1637
1638-class DefaultFocusMechanism : public FocusSetter
1639+class MIR_INTERNAL DefaultFocusMechanism : public FocusSetter
1640 {
1641 public:
1642 explicit DefaultFocusMechanism(std::shared_ptr<InputTargeter> const& input_targeter,
1643
1644=== modified file 'src/server/shell/null_host_lifecycle_event_listener.h'
1645--- src/server/shell/null_host_lifecycle_event_listener.h 2014-07-14 12:06:02 +0000
1646+++ src/server/shell/null_host_lifecycle_event_listener.h 2014-07-18 06:57:43 +0000
1647@@ -19,6 +19,7 @@
1648 #ifndef MIR_NULL_HOST_LIFECYCLE_EVENT_LISTENER_H_
1649 #define MIR_NULL_HOST_LIFECYCLE_EVENT_LISTENER_H_
1650
1651+#include "mir/visibility.h"
1652 #include "mir/shell/host_lifecycle_event_listener.h"
1653
1654 namespace mir
1655@@ -26,7 +27,7 @@
1656 namespace shell
1657 {
1658
1659-class NullHostLifecycleEventListener : public HostLifecycleEventListener
1660+class MIR_INTERNAL NullHostLifecycleEventListener : public HostLifecycleEventListener
1661 {
1662 public:
1663 virtual void lifecycle_event_occurred(MirLifecycleState /*state*/) override {}
1664
1665=== modified file 'tests/CMakeLists.txt'
1666--- tests/CMakeLists.txt 2014-05-16 06:02:30 +0000
1667+++ tests/CMakeLists.txt 2014-07-18 06:57:43 +0000
1668@@ -6,6 +6,8 @@
1669 include_directories(${MIR_3RD_PARTY_INCLUDE_DIRECTORIES})
1670 include_directories(${MIR_ANDROID_INCLUDE_DIRECTORIES})
1671
1672+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
1673+
1674 if ("${CMAKE_CXX_COMPILER}" MATCHES "clang")
1675 # Avoid clang complaints about poor quality gmock/gtest headers
1676 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=null-dereference")
1677
1678=== modified file 'tests/acceptance-tests/CMakeLists.txt'
1679--- tests/acceptance-tests/CMakeLists.txt 2014-07-11 14:04:15 +0000
1680+++ tests/acceptance-tests/CMakeLists.txt 2014-07-18 06:57:43 +0000
1681@@ -61,7 +61,7 @@
1682 target_link_libraries(
1683 mir_acceptance_tests
1684
1685- mirserver
1686+ mirserver-static
1687 mirclient
1688 mirplatform
1689
1690
1691=== modified file 'tests/integration-tests/CMakeLists.txt'
1692--- tests/integration-tests/CMakeLists.txt 2014-04-17 01:34:35 +0000
1693+++ tests/integration-tests/CMakeLists.txt 2014-07-18 06:57:43 +0000
1694@@ -53,7 +53,7 @@
1695 mir-test-framework
1696 mir-test-doubles
1697
1698- mirserver
1699+ mirserver-static
1700 mirplatformgraphics
1701 mirclient
1702 mirdraw
1703
1704=== modified file 'tests/unit-tests/CMakeLists.txt'
1705--- tests/unit-tests/CMakeLists.txt 2014-07-11 21:53:44 +0000
1706+++ tests/unit-tests/CMakeLists.txt 2014-07-18 06:57:43 +0000
1707@@ -44,7 +44,7 @@
1708 mir_unit_tests
1709
1710 mirclient
1711- mirserver
1712+ mirserver-static
1713 mirplatformgraphics
1714 mirclientplatform
1715 mirdraw

Subscribers

People subscribed via source and target branches