Mir

Merge lp:mir/0.27 into lp:mir/zesty

Proposed by Alan Griffiths on 2017-06-15
Status: Work in progress
Proposed branch: lp:mir/0.27
Merge into: lp:mir/zesty
Diff against target: 94049 lines (+18955/-51454) (has conflicts)
1041 files modified
3rd_party/CMakeLists.txt (+0/-22)
3rd_party/android-deps/android/input.h (+0/-470)
3rd_party/android-deps/android/keycodes.h (+0/-275)
3rd_party/android-deps/android/log.h (+0/-123)
3rd_party/android-deps/android/native_window.h (+0/-126)
3rd_party/android-deps/android/rect.h (+0/-41)
3rd_party/android-deps/cutils/log.h (+0/-479)
3rd_party/android-deps/cutils/logd.h (+0/-37)
3rd_party/android-deps/std/BitSet.h (+0/-25)
3rd_party/android-deps/std/Compat.h (+0/-25)
3rd_party/android-deps/std/Condition.h (+0/-48)
3rd_party/android-deps/std/Errors.h (+0/-116)
3rd_party/android-deps/std/FileMap.h (+0/-25)
3rd_party/android-deps/std/KeyedVector.h (+0/-25)
3rd_party/android-deps/std/List.h (+0/-25)
3rd_party/android-deps/std/Log.h (+0/-161)
3rd_party/android-deps/std/MirLog.h (+0/-29)
3rd_party/android-deps/std/Mutex.h (+0/-32)
3rd_party/android-deps/std/PropertyMap.h (+0/-171)
3rd_party/android-deps/std/RefBase.h (+0/-30)
3rd_party/android-deps/std/SortedVector.h (+0/-158)
3rd_party/android-deps/std/String8.h (+0/-79)
3rd_party/android-deps/std/StrongPointer.h (+0/-25)
3rd_party/android-deps/std/Timers.h (+0/-25)
3rd_party/android-deps/std/Tokenizer.h (+0/-25)
3rd_party/android-deps/std/TypeHelpers.h (+0/-25)
3rd_party/android-deps/std/Vector.h (+0/-191)
3rd_party/android-deps/std/atomic.h (+0/-79)
3rd_party/android-deps/std/properties.h (+0/-54)
3rd_party/android-deps/utils/KeyedVector.h (+0/-170)
3rd_party/android-deps/utils/RefBase.h (+0/-413)
3rd_party/android-deps/utils/SharedBuffer.h (+0/-146)
3rd_party/android-deps/utils/String16.h (+0/-241)
3rd_party/android-deps/utils/StrongPointer.h (+0/-199)
3rd_party/android-deps/utils/Timers.h (+0/-65)
3rd_party/android-deps/utils/TypeHelpers.h (+0/-79)
3rd_party/android-deps/utils/Unicode.h (+0/-172)
3rd_party/android-deps/utils/VectorImpl.h (+0/-203)
3rd_party/android-input/CMakeLists.txt (+0/-29)
3rd_party/android-input/README (+0/-14)
3rd_party/android-input/android/CMakeLists.txt (+0/-30)
3rd_party/android-input/android/external/kernel-headers/original/linux/input.h (+0/-1151)
3rd_party/android-input/android/frameworks/base/include/androidfw/Input.h (+0/-639)
3rd_party/android-input/android/frameworks/base/include/androidfw/InputTransport.h (+0/-455)
3rd_party/android-input/android/frameworks/base/include/androidfw/IntSet.h (+0/-104)
3rd_party/android-input/android/frameworks/base/services/input/Input.cpp (+0/-671)
3rd_party/android-input/android/frameworks/base/services/input/InputListener.h (+0/-198)
3rd_party/android-input/android/frameworks/base/services/input/InputTransport.cpp (+0/-988)
3rd_party/android-input/android/frameworks/base/services/input/IntSet.cpp (+0/-123)
3rd_party/android-input/android/frameworks/base/services/input/MirLog.cpp (+0/-230)
3rd_party/android-input/android/frameworks/native/include/utils/BitSet.h (+0/-108)
3rd_party/android-input/android/frameworks/native/include/utils/Compat.h (+0/-42)
3rd_party/android-input/android/frameworks/native/include/utils/Debug.h (+0/-70)
3rd_party/android-input/android/frameworks/native/include/utils/Endian.h (+0/-40)
3rd_party/android-input/android/frameworks/native/include/utils/FileMap.h (+0/-137)
3rd_party/android-input/android/frameworks/native/include/utils/List.h (+0/-332)
3rd_party/android-input/android/frameworks/native/include/utils/Looper.h (+0/-380)
3rd_party/android-input/android/frameworks/native/include/utils/RWLock.h (+0/-128)
3rd_party/android-input/android/frameworks/native/include/utils/Tokenizer.h (+0/-137)
3rd_party/android-input/android/frameworks/native/include/utils/misc.h (+0/-98)
3rd_party/android-input/android/frameworks/native/libs/utils/FileMap.cpp (+0/-225)
3rd_party/android-input/android/frameworks/native/libs/utils/RefBase.cpp (+0/-610)
3rd_party/android-input/android/frameworks/native/libs/utils/Timers.cpp (+0/-46)
3rd_party/android-input/android/frameworks/native/libs/utils/Tokenizer.cpp (+0/-176)
3rd_party/android-input/android/system/core/include/arch/linux-x86/AndroidConfig.h (+0/-350)
3rd_party/android-input/android/system/core/include/arch/ubuntu-android/AndroidConfig.h (+0/-246)
3rd_party/android-input/android/system/core/include/arch/ubuntu-x86/AndroidConfig.h (+0/-350)
3rd_party/android-input/android/system/core/include/cutils/event_tag_map.h (+0/-50)
3rd_party/android-input/android/system/core/include/cutils/logger.h (+0/-81)
3rd_party/android-input/android/system/core/include/cutils/logprint.h (+0/-156)
3rd_party/android-input/android/system/core/include/cutils/properties.h (+0/-70)
3rd_party/android-input/android/system/core/include/cutils/sched_policy.h (+0/-61)
3rd_party/android-input/android/system/core/include/cutils/sockets.h (+0/-112)
3rd_party/android-input/android/system/core/include/cutils/threads.h (+0/-146)
CMakeLists.txt (+22/-26)
HACKING.md (+0/-7)
benchmarks/CMakeLists.txt (+8/-1)
benchmarks/frame-uniformity/CMakeLists.txt (+0/-10)
benchmarks/frame-uniformity/touch_measuring_client.cpp (+3/-0)
cmake/ABICheck.cmake (+2/-8)
cmake/Doxygen.cmake (+7/-0)
cmake/EnableCoverageReport.cmake (+1/-1)
cmake/FindAndroidProperties.cmake (+0/-22)
cmake/FindLibHardware.cmake (+0/-25)
debian/changelog (+153/-0)
debian/control (+10/-71)
debian/copyright (+2/-105)
debian/libmirplatform16.install (+1/-1)
debian/libmirserver44.install (+1/-1)
debian/mir-android-diagnostics.install (+0/-1)
debian/mir-client-platform-android5.install (+0/-1)
debian/mir-client-platform-mesa-dev.install (+1/-1)
debian/mir-platform-graphics-android12.install (+0/-1)
debian/mir-platform-graphics-mesa-kms13.install (+1/-1)
debian/mir-platform-graphics-mesa-x13.install (+1/-1)
debian/mir-platform-input-evdev7.install (+1/-1)
debian/rules (+9/-4)
doc/Doxyfile.in (+2/-3)
doc/android_new_device_bringup.md (+0/-186)
doc/android_technical_details.md (+0/-40)
doc/building_source_for_arm.md (+1/-1)
doc/building_source_for_pc.md (+1/-1)
doc/footer.html.in (+1/-1)
doc/installing_prebuilt_on_android.md (+0/-18)
doc/mainpage.md (+0/-8)
doc/using_mir_on_android.md (+0/-28)
examples/CMakeLists.txt (+34/-2)
examples/animated_cursor_demo_client.c (+17/-8)
examples/basic.c (+10/-8)
examples/camera.c (+3/-7)
examples/chain_jumping_buffers.c (+5/-15)
examples/client_helpers.cpp (+57/-102)
examples/client_helpers.h (+22/-43)
examples/client_touch_validator.cpp (+4/-1)
examples/eglapp.c (+75/-86)
examples/eglapp.h (+1/-0)
examples/eglsquare.cpp (+138/-76)
examples/fingerpaint.c (+92/-67)
examples/flicker.c (+44/-6)
examples/input_shapes.cpp (+3/-3)
examples/multi_stream.cpp (+102/-44)
examples/multiwin.c (+66/-51)
examples/pointer_confinement.c (+2/-3)
examples/prerendered_frames.c (+43/-21)
examples/progressbar.c (+41/-6)
examples/release_at_exit.c (+0/-2)
examples/render_surface.cpp (+0/-3)
examples/screencast.cpp (+149/-0)
examples/server_example_basic_window_manager.cpp (+16/-0)
examples/server_example_basic_window_manager.h (+13/-1)
examples/server_example_canonical_window_manager.cpp (+1/-1)
examples/server_example_window_management_info.cpp (+0/-373)
examples/server_example_window_management_info.h (+0/-105)
examples/target.c (+1/-0)
examples/tooltip.c (+21/-9)
include/client/mir/event_printer.h (+1/-0)
include/client/mir/events/event_builders.h (+3/-0)
include/client/mir_toolkit/client_types.h (+27/-3)
include/client/mir_toolkit/events/event.h (+2/-2)
include/client/mir_toolkit/events/input/input_event.h (+8/-0)
include/client/mir_toolkit/events/input/keyboard_event.h (+12/-0)
include/client/mir_toolkit/extensions/android_buffer.h (+97/-3)
include/client/mir_toolkit/extensions/drag_and_drop.h (+86/-0)
include/client/mir_toolkit/extensions/gbm_buffer.h (+6/-6)
include/client/mir_toolkit/extensions/hardware_buffer_stream.h (+5/-6)
include/client/mir_toolkit/mir_buffer.h (+5/-7)
include/client/mir_toolkit/mir_buffer_stream.h (+55/-14)
include/client/mir_toolkit/mir_connection.h (+67/-4)
include/client/mir_toolkit/mir_cursor_configuration.h (+11/-12)
include/client/mir_toolkit/mir_display_configuration.h (+45/-0)
include/client/mir_toolkit/mir_input_device.h (+175/-0)
include/client/mir_toolkit/mir_screencast.h (+39/-0)
include/client/mir_toolkit/mir_window.h (+100/-43)
include/client/mir_toolkit/rs/mir_render_surface.h (+18/-1)
include/common/mir/dispatch/action_queue.h (+1/-0)
include/common/mir/extension_description.h (+33/-0)
include/common/mir/input/mir_input_config.h (+1/-0)
include/common/mir/input/mir_keyboard_config.h (+1/-0)
include/core/mir_toolkit/mir_input_device_types.h (+2/-2)
include/platform/mir/client/client_platform.h (+3/-0)
include/platform/mir/client/egl_native_surface.h (+3/-0)
include/platform/mir/graphics/display.h (+1/-2)
include/platform/mir/graphics/display_buffer.h (+9/-20)
include/platform/mir/graphics/display_configuration.h (+16/-0)
include/platform/mir/graphics/gl_format.h (+31/-0)
include/platform/mir/graphics/platform.h (+88/-32)
include/platform/mir/graphics/platform_authentication.h (+27/-13)
include/platform/mir/graphics/transformation.h (+52/-0)
include/platform/mir/input/input_device.h (+4/-0)
include/platform/mir/input/input_sink.h (+34/-1)
include/platform/mir/input/platform.h (+8/-0)
include/platform/mir/input/pointer_settings.h (+7/-0)
include/platform/mir/input/touchpad_settings.h (+8/-0)
include/platform/mir/input/touchscreen_settings.h (+57/-0)
include/platform/mir/mir_buffer.h (+3/-1)
include/platform/mir/mir_buffer_stream.h (+7/-1)
include/platform/mir/mir_render_surface.h (+3/-0)
include/platforms/mesa/mir_toolkit/mesa/native_display.h (+3/-0)
include/renderer/mir/renderer/renderer.h (+2/-2)
include/renderers/gl/mir/renderer/gl/egl_platform.h (+47/-0)
include/renderers/gl/mir/renderer/gl/texture_target.h (+47/-0)
include/server/mir/frontend/buffer_stream.h (+1/-0)
include/server/mir/frontend/client_buffers.h (+1/-1)
include/server/mir/frontend/session.h (+2/-13)
include/server/mir/frontend/session_authorizer.h (+2/-0)
include/server/mir/frontend/surface.h (+0/-3)
include/server/mir/input/device.h (+4/-0)
include/server/mir/input/input_channel.h (+0/-45)
include/server/mir/input/input_device_hub.h (+1/-0)
include/server/mir/input/input_dispatcher.h (+1/-1)
include/server/mir/input/input_manager.h (+2/-0)
include/server/mir/input/surface.h (+0/-2)
include/server/mir/scene/null_surface_observer.h (+2/-0)
include/server/mir/scene/session.h (+2/-1)
include/server/mir/scene/session_coordinator.h (+3/-0)
include/server/mir/scene/surface.h (+1/-4)
include/server/mir/scene/surface_observer.h (+3/-0)
include/server/mir/server.h (+3/-0)
include/server/mir/shell/abstract_shell.h (+13/-0)
include/server/mir/shell/basic_window_manager.h (+29/-2)
include/server/mir/shell/canonical_window_manager.h (+9/-1)
include/server/mir/shell/focus_controller.h (+5/-0)
include/server/mir/shell/input_targeter.h (+5/-0)
include/server/mir/shell/shell.h (+9/-0)
include/server/mir/shell/shell_wrapper.h (+13/-0)
include/server/mir/shell/system_compositor_window_manager.h (+10/-0)
include/server/mir/shell/window_management_info.h (+3/-3)
include/server/mir/shell/window_manager.h (+10/-0)
include/test/mir/test/doubles/mock_client_buffer.h (+1/-1)
include/test/mir/test/doubles/mock_client_context.h (+1/-1)
include/test/mir/test/doubles/mock_egl_native_surface.h (+4/-1)
include/test/mir/test/doubles/mock_gl.h (+1/-0)
include/test/mir/test/doubles/mock_platform_authentication.h (+6/-4)
include/test/mir/test/doubles/mock_window_manager.h (+2/-0)
include/test/mir/test/doubles/null_display.h (+1/-1)
include/test/mir/test/doubles/null_display_buffer.h (+1/-2)
include/test/mir/test/doubles/null_platform.h (+15/-0)
include/test/mir/test/doubles/stub_input_device.h (+10/-0)
include/test/mir/test/doubles/stub_session.h (+3/-5)
include/test/mir/test/doubles/stub_session_authorizer.h (+14/-0)
include/test/mir/test/doubles/stub_surface.h (+1/-3)
include/test/mir/test/event_matchers.h (+12/-0)
include/test/mir_test_framework/any_surface.h (+1/-0)
include/test/mir_test_framework/connected_client_with_a_window.h (+4/-4)
include/test/mir_test_framework/fake_input_device.h (+9/-0)
include/test/mir_test_framework/observant_shell.h (+4/-66)
include/test/mir_test_framework/stub_server_platform_factory.h (+4/-1)
playground/CMakeLists.txt (+0/-25)
playground/demo-shell/demo_compositor.cpp (+2/-1)
playground/demo-shell/window_manager.cpp (+4/-4)
playground/egldiamond_render_surface.c (+7/-2)
playground/mir_egl_platform_shim.c (+3/-0)
src/CMakeLists.txt (+1/-1)
src/capnproto/mir_event.capnp (+10/-1)
src/client/CMakeLists.txt (+3/-2)
src/client/buffer.cpp (+7/-2)
src/client/buffer.h (+9/-0)
src/client/buffer_factory.cpp (+7/-1)
src/client/buffer_factory.h (+3/-0)
src/client/buffer_stream.cpp (+42/-14)
src/client/buffer_stream.h (+8/-5)
src/client/buffer_vault.cpp (+6/-3)
src/client/connection_configuration.h (+0/-5)
src/client/connection_surface_map.cpp (+13/-9)
src/client/connection_surface_map.h (+3/-2)
src/client/cursor_configuration.h (+8/-0)
src/client/default_connection_configuration.cpp (+4/-15)
src/client/default_connection_configuration.h (+0/-2)
src/client/display_configuration_api.cpp (+30/-0)
src/client/drag_and_drop.cpp (+85/-0)
src/client/drag_and_drop.h (+32/-0)
src/client/error_buffer.cpp (+5/-0)
src/client/error_buffer.h (+3/-0)
src/client/error_chain.cpp (+0/-63)
src/client/error_chain.h (+0/-51)
src/client/error_render_surface.cpp (+3/-0)
src/client/error_stream.cpp (+9/-0)
src/client/error_stream.h (+4/-1)
src/client/event.cpp (+0/-4)
src/client/event_printer.cpp (+20/-5)
src/client/events/CMakeLists.txt (+0/-1)
src/client/events/event_builders.cpp (+61/-0)
src/client/events/serialization.cpp (+0/-32)
src/client/frame_clock.cpp (+10/-2)
src/client/frame_clock.h (+4/-3)
src/client/input/CMakeLists.txt (+0/-9)
src/client/input/android/CMakeLists.txt (+0/-25)
src/client/input/android/android_input_lexicon.cpp (+0/-101)
src/client/input/android/android_input_platform.cpp (+0/-54)
src/client/input/android/android_input_platform.h (+0/-60)
src/client/input/android/android_input_receiver.cpp (+0/-178)
src/client/input/android/android_input_receiver.h (+0/-99)
src/client/input/android/event_conversion_helpers.cpp (+0/-281)
src/client/input/input_devices.cpp (+39/-1)
src/client/input/input_event.cpp (+10/-0)
src/client/input/xkb_mapper.cpp (+97/-10)
src/client/logging/rpc_report.cpp (+4/-3)
src/client/mir_blob.cpp (+1/-8)
src/client/mir_buffer_api.cpp (+11/-12)
src/client/mir_buffer_stream_api.cpp (+17/-3)
src/client/mir_connection.cpp (+80/-17)
src/client/mir_connection.h (+11/-12)
src/client/mir_connection_api.cpp (+47/-0)
src/client/mir_cursor_api.cpp (+17/-2)
src/client/mir_input_device_api.cpp (+92/-0)
src/client/mir_prompt_session.h (+1/-0)
src/client/mir_render_surface_api.cpp (+16/-1)
src/client/mir_screencast.cpp (+59/-7)
src/client/mir_screencast.h (+25/-1)
src/client/mir_screencast_api.cpp (+37/-0)
src/client/mir_surface.cpp (+76/-37)
src/client/mir_surface.h (+9/-7)
src/client/mir_surface_api.cpp (+74/-1)
src/client/presentation_chain.cpp (+2/-2)
src/client/presentation_chain.h (+1/-4)
src/client/private.cpp (+0/-26)
src/client/probing_client_platform_factory.cpp (+1/-1)
src/client/probing_client_platform_factory.h (+1/-1)
src/client/render_surface.cpp (+4/-1)
src/client/rpc/mir_basic_rpc_channel.h (+1/-0)
src/client/rpc/mir_display_server.cpp (+17/-2)
src/client/rpc/mir_display_server.h (+10/-2)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+27/-15)
src/client/rpc/mir_protobuf_rpc_channel.h (+3/-1)
src/client/screencast_stream.cpp (+10/-2)
src/client/screencast_stream.h (+6/-3)
src/client/symbols.map (+53/-35)
src/common/CMakeLists.txt (+2/-2)
src/common/dispatch/threaded_dispatcher.cpp (+1/-1)
src/common/events/input_device_state_event.cpp (+10/-0)
src/common/events/input_event.cpp (+10/-0)
src/common/events/keyboard_event.cpp (+8/-0)
src/common/events/pointer_event.cpp (+41/-3)
src/common/events/surface_event.cpp (+39/-1)
src/common/events/surface_placement_event.cpp (+5/-0)
src/common/input/mir_input_config.cpp (+10/-1)
src/common/input/mir_keyboard_config.cpp (+5/-0)
src/common/symbols.map (+17/-59)
src/cookie/authority.cpp (+15/-15)
src/cookie/format.h (+1/-1)
src/core/CMakeLists.txt (+3/-0)
src/gl/texture.cpp (+12/-7)
src/include/client/mir/client/private.h (+0/-47)
src/include/client/mir/client/surface_map.h (+2/-1)
src/include/client/mir/events/serialization.h (+0/-35)
src/include/client/mir/input/input_devices.h (+3/-1)
src/include/client/mir/input/input_platform.h (+0/-62)
src/include/common/mir/events/event.h (+1/-0)
src/include/common/mir/events/input_device_state_event.h (+2/-0)
src/include/common/mir/events/input_event.h (+4/-0)
src/include/common/mir/events/keyboard_event.h (+3/-0)
src/include/common/mir/events/pointer_event.h (+6/-1)
src/include/common/mir/events/surface_event.h (+6/-1)
src/include/common/mir/input/android/android_input_lexicon.h (+0/-52)
src/include/common/mir/input/android/event_conversion_helpers.h (+0/-60)
src/include/common/mir/input/key_mapper.h (+1/-0)
src/include/common/mir/input/xkb_mapper.h (+10/-2)
src/include/common/mir/protobuf/display_server.h (+10/-2)
src/include/common/mir/protobuf/protocol_version.h (+2/-2)
src/include/common/mir/thread_safe_list.h (+1/-0)
src/include/common/mir_blob.h (+32/-0)
src/include/cookie/mir/cookie/blob.h (+1/-1)
src/include/gl/mir/gl/texture.h (+0/-1)
src/include/platform/mir/graphics/platform_authentication_wrapper.h (+42/-0)
src/include/platform/mir/options/configuration.h (+2/-1)
src/include/platform/mir/udev/wrapper.h (+1/-0)
src/include/server/mir/compositor/buffer_stream.h (+0/-1)
src/include/server/mir/compositor/frame_dropping_policy.h (+0/-69)
src/include/server/mir/compositor/frame_dropping_policy_factory.h (+0/-74)
src/include/server/mir/default_server_configuration.h (+6/-11)
src/include/server/mir/frontend/shell.h (+10/-3)
src/include/server/mir/input/input_channel_factory.h (+0/-46)
src/include/server/mir/input/input_region.h (+0/-65)
src/include/server/mir/input/input_sender.h (+0/-46)
src/include/server/mir/input/scene.h (+1/-2)
src/include/server/mir/input/seat.h (+5/-1)
src/include/server/mir/input/validator.h (+1/-0)
src/include/server/mir/report/legacy_input_report.h (+0/-39)
src/include/server/mir/scene/session_container.h (+1/-0)
src/include/server/mir/scene/surface_event_source.h (+2/-0)
src/include/server/mir/scene/surface_observers.h (+2/-0)
src/platform/graphics/display_configuration.cpp (+36/-5)
src/platform/graphics/overlapping_output_grouping.cpp (+2/-2)
src/platform/options/default_configuration.cpp (+7/-0)
src/platform/symbols.map (+4/-132)
src/platforms/CMakeLists.txt (+6/-8)
src/platforms/android/CMakeLists.txt (+0/-13)
src/platforms/android/client/CMakeLists.txt (+0/-40)
src/platforms/android/client/android_client_buffer_factory.cpp (+0/-47)
src/platforms/android/client/android_client_buffer_factory.h (+0/-58)
src/platforms/android/client/android_client_platform.cpp (+0/-321)
src/platforms/android/client/android_client_platform.h (+0/-69)
src/platforms/android/client/android_native_display_container.cpp (+0/-85)
src/platforms/android/client/android_native_display_container.h (+0/-60)
src/platforms/android/client/buffer.cpp (+0/-123)
src/platforms/android/client/buffer.h (+0/-74)
src/platforms/android/client/buffer_registrar.h (+0/-57)
src/platforms/android/client/client_platform_factory.cpp (+0/-55)
src/platforms/android/client/egl_native_surface_interpreter.cpp (+0/-109)
src/platforms/android/client/egl_native_surface_interpreter.h (+0/-82)
src/platforms/android/client/gralloc_registrar.cpp (+0/-155)
src/platforms/android/client/gralloc_registrar.h (+0/-52)
src/platforms/android/client/symbols.map (+0/-6)
src/platforms/android/common/CMakeLists.txt (+0/-18)
src/platforms/android/common/android_native_buffer.cpp (+0/-109)
src/platforms/android/common/egl_sync_extensions.cpp (+0/-35)
src/platforms/android/common/egl_sync_fence.cpp (+0/-105)
src/platforms/android/common/mir_native_window.cpp (+0/-337)
src/platforms/android/common/native_window_report.cpp (+0/-170)
src/platforms/android/common/refcounted_buffer.cpp (+0/-73)
src/platforms/android/common/syncfence.cpp (+0/-107)
src/platforms/android/include/android/native_window.h (+0/-21)
src/platforms/android/include/android_driver_interpreter.h (+0/-54)
src/platforms/android/include/android_format_conversion-inl.h (+0/-91)
src/platforms/android/include/android_native_buffer.h (+0/-84)
src/platforms/android/include/command_stream_sync.h (+0/-51)
src/platforms/android/include/egl_sync_extensions.h (+0/-50)
src/platforms/android/include/egl_sync_fence.h (+0/-63)
src/platforms/android/include/fence.h (+0/-57)
src/platforms/android/include/mir_native_window.h (+0/-65)
src/platforms/android/include/native_buffer.h (+0/-73)
src/platforms/android/include/native_window_report.h (+0/-81)
src/platforms/android/include/sync_fence.h (+0/-74)
src/platforms/android/server/CMakeLists.txt (+0/-75)
src/platforms/android/server/buffer.cpp (+0/-217)
src/platforms/android/server/buffer.h (+0/-92)
src/platforms/android/server/cmdstream_sync_factory.h (+0/-54)
src/platforms/android/server/configurable_display_buffer.h (+0/-44)
src/platforms/android/server/device_quirks.cpp (+0/-240)
src/platforms/android/server/device_quirks.h (+0/-95)
src/platforms/android/server/display.cpp (+0/-417)
src/platforms/android/server/display.h (+0/-128)
src/platforms/android/server/display_buffer.cpp (+0/-148)
src/platforms/android/server/display_buffer.h (+0/-94)
src/platforms/android/server/display_component_factory.h (+0/-60)
src/platforms/android/server/display_configuration.cpp (+0/-185)
src/platforms/android/server/display_configuration.h (+0/-72)
src/platforms/android/server/display_device.h (+0/-84)
src/platforms/android/server/display_device_exceptions.h (+0/-48)
src/platforms/android/server/display_group.cpp (+0/-116)
src/platforms/android/server/display_group.h (+0/-70)
src/platforms/android/server/display_name.h (+0/-52)
src/platforms/android/server/display_resource_factory.h (+0/-70)
src/platforms/android/server/egl_sync_factory.cpp (+0/-40)
src/platforms/android/server/fb_device.cpp (+0/-145)
src/platforms/android/server/fb_device.h (+0/-65)
src/platforms/android/server/framebuffer_bundle.h (+0/-54)
src/platforms/android/server/framebuffers.cpp (+0/-67)
src/platforms/android/server/framebuffers.h (+0/-66)
src/platforms/android/server/gl_context.cpp (+0/-249)
src/platforms/android/server/gl_context.h (+0/-107)
src/platforms/android/server/gralloc.h (+0/-48)
src/platforms/android/server/gralloc_module.cpp (+0/-103)
src/platforms/android/server/gralloc_module.h (+0/-57)
src/platforms/android/server/graphic_buffer_allocator.cpp (+0/-140)
src/platforms/android/server/graphic_buffer_allocator.h (+0/-72)
src/platforms/android/server/hal_component_factory.cpp (+0/-176)
src/platforms/android/server/hal_component_factory.h (+0/-83)
src/platforms/android/server/hwc_blanking_control.cpp (+0/-329)
src/platforms/android/server/hwc_configuration.h (+0/-91)
src/platforms/android/server/hwc_device.cpp (+0/-168)
src/platforms/android/server/hwc_device.h (+0/-65)
src/platforms/android/server/hwc_fallback_gl_renderer.cpp (+0/-145)
src/platforms/android/server/hwc_fallback_gl_renderer.h (+0/-71)
src/platforms/android/server/hwc_fb_device.cpp (+0/-125)
src/platforms/android/server/hwc_fb_device.h (+0/-67)
src/platforms/android/server/hwc_layerlist.cpp (+0/-215)
src/platforms/android/server/hwc_layerlist.h (+0/-94)
src/platforms/android/server/hwc_layers.cpp (+0/-245)
src/platforms/android/server/hwc_layers.h (+0/-127)
src/platforms/android/server/hwc_loggers.cpp (+0/-347)
src/platforms/android/server/hwc_loggers.h (+0/-76)
src/platforms/android/server/hwc_report.h (+0/-66)
src/platforms/android/server/hwc_wrapper.h (+0/-79)
src/platforms/android/server/interpreter_cache.cpp (+0/-62)
src/platforms/android/server/interpreter_cache.h (+0/-48)
src/platforms/android/server/interpreter_resource_cache.h (+0/-51)
src/platforms/android/server/ipc_operations.cpp (+0/-97)
src/platforms/android/server/ipc_operations.h (+0/-42)
src/platforms/android/server/overlay_optimization.h (+0/-37)
src/platforms/android/server/platform.cpp (+0/-254)
src/platforms/android/server/platform.h (+0/-71)
src/platforms/android/server/power_mode.h (+0/-43)
src/platforms/android/server/real_hwc_wrapper.cpp (+0/-327)
src/platforms/android/server/real_hwc_wrapper.h (+0/-96)
src/platforms/android/server/resource_factory.cpp (+0/-90)
src/platforms/android/server/resource_factory.h (+0/-44)
src/platforms/android/server/server_render_window.cpp (+0/-117)
src/platforms/android/server/server_render_window.h (+0/-65)
src/platforms/android/server/swapping_gl_context.h (+0/-49)
src/platforms/android/server/symbols.map.in (+0/-10)
src/platforms/android/server/virtual_output.cpp (+0/-43)
src/platforms/android/server/virtual_output.h (+0/-50)
src/platforms/android/utils/CMakeLists.txt (+0/-46)
src/platforms/android/utils/draw_pattern_checkered-inl.h (+0/-69)
src/platforms/android/utils/patterns.cpp (+0/-63)
src/platforms/android/utils/patterns.h (+0/-77)
src/platforms/android/utils/render_overlays.cpp (+0/-296)
src/platforms/android/utils/test_android_hardware_sanity.cpp (+0/-337)
src/platforms/common/client/mir/CMakeLists.txt (+1/-1)
src/platforms/common/client/mir/aging_buffer.h (+1/-1)
src/platforms/common/server/CMakeLists.txt (+1/-0)
src/platforms/common/server/platform_authentication_wrapper.cpp (+48/-0)
src/platforms/common/server/shm_buffer.cpp (+5/-7)
src/platforms/eglstream-kms/client/client_buffer_factory.h (+1/-1)
src/platforms/eglstream-kms/client/client_platform.cpp (+5/-2)
src/platforms/eglstream-kms/client/client_platform.h (+4/-1)
src/platforms/eglstream-kms/client/client_platform_factory.cpp (+3/-3)
src/platforms/eglstream-kms/server/display.cpp (+9/-12)
src/platforms/eglstream-kms/server/display.h (+1/-1)
src/platforms/eglstream-kms/server/platform.cpp (+65/-11)
src/platforms/eglstream-kms/server/platform.h (+35/-6)
src/platforms/eglstream-kms/server/platform_symbols.cpp (+63/-19)
src/platforms/eglstream-kms/server/symbols.map.in (+2/-0)
src/platforms/evdev/libinput_device.cpp (+126/-10)
src/platforms/evdev/libinput_device.h (+10/-2)
src/platforms/evdev/platform.cpp (+8/-0)
src/platforms/evdev/platform.h (+2/-3)
src/platforms/mesa/CMakeLists.txt (+1/-1)
src/platforms/mesa/client/client_buffer_factory.h (+1/-1)
src/platforms/mesa/client/client_platform.cpp (+37/-24)
src/platforms/mesa/client/client_platform.h (+4/-1)
src/platforms/mesa/client/client_platform_factory.cpp (+3/-3)
src/platforms/mesa/client/mesa_native_display_container.cpp (+1/-1)
src/platforms/mesa/client/mesa_native_display_container.h (+1/-1)
src/platforms/mesa/client/native_surface.cpp (+7/-1)
src/platforms/mesa/client/native_surface.h (+4/-1)
src/platforms/mesa/include/mesa_extensions.h (+45/-0)
src/platforms/mesa/mir-client-platform-mesa.pc.in (+1/-1)
src/platforms/mesa/server/CMakeLists.txt (+3/-0)
src/platforms/mesa/server/display_helpers.cpp (+94/-164)
src/platforms/mesa/server/display_helpers.h (+7/-37)
src/platforms/mesa/server/drm_native_platform.cpp (+88/-0)
src/platforms/mesa/server/drm_native_platform.h (+62/-0)
src/platforms/mesa/server/gbm_buffer.cpp (+5/-0)
src/platforms/mesa/server/gbm_buffer.h (+5/-1)
src/platforms/mesa/server/gbm_platform.cpp (+94/-0)
src/platforms/mesa/server/gbm_platform.h (+65/-0)
src/platforms/mesa/server/ipc_operations.cpp (+1/-1)
src/platforms/mesa/server/ipc_operations.h (+1/-1)
src/platforms/mesa/server/kms/CMakeLists.txt (+8/-2)
src/platforms/mesa/server/kms/cursor.cpp (+133/-48)
src/platforms/mesa/server/kms/cursor.h (+24/-9)
src/platforms/mesa/server/kms/display.cpp (+201/-49)
src/platforms/mesa/server/kms/display.h (+5/-4)
src/platforms/mesa/server/kms/display_buffer.cpp (+567/-185)
src/platforms/mesa/server/kms/display_buffer.h (+72/-24)
src/platforms/mesa/server/kms/egl_helper.cpp (+209/-0)
src/platforms/mesa/server/kms/egl_helper.h (+77/-0)
src/platforms/mesa/server/kms/guest_platform.cpp (+0/-84)
src/platforms/mesa/server/kms/guest_platform.h (+0/-56)
src/platforms/mesa/server/kms/kms_display_configuration.h (+6/-3)
src/platforms/mesa/server/kms/kms_output.h (+44/-5)
src/platforms/mesa/server/kms/kms_output_container.h (+6/-2)
src/platforms/mesa/server/kms/mutex.h (+104/-0)
src/platforms/mesa/server/kms/platform.cpp (+59/-9)
src/platforms/mesa/server/kms/platform.h (+13/-3)
src/platforms/mesa/server/kms/platform_symbols.cpp (+37/-8)
src/platforms/mesa/server/kms/real_kms_display_configuration.cpp (+97/-308)
src/platforms/mesa/server/kms/real_kms_display_configuration.h (+8/-7)
src/platforms/mesa/server/kms/real_kms_output.cpp (+364/-29)
src/platforms/mesa/server/kms/real_kms_output.h (+18/-8)
src/platforms/mesa/server/kms/real_kms_output_container.cpp (+58/-29)
src/platforms/mesa/server/kms/real_kms_output_container.h (+11/-9)
src/platforms/mesa/server/kms/symbols.map.in (+2/-0)
src/platforms/mesa/server/nested_authentication.cpp (+5/-6)
src/platforms/mesa/server/nested_authentication.h (+3/-3)
src/platforms/mesa/server/x11/graphics/CMakeLists.txt (+0/-1)
src/platforms/mesa/server/x11/graphics/display.cpp (+8/-3)
src/platforms/mesa/server/x11/graphics/display.h (+1/-1)
src/platforms/mesa/server/x11/graphics/display_buffer.cpp (+18/-26)
src/platforms/mesa/server/x11/graphics/display_buffer.h (+6/-7)
src/platforms/mesa/server/x11/graphics/display_configuration.cpp (+1/-0)
src/platforms/mesa/server/x11/graphics/egl_helper.h (+1/-0)
src/platforms/mesa/server/x11/graphics/graphics.cpp (+45/-14)
src/platforms/mesa/server/x11/graphics/guest_platform.cpp (+0/-60)
src/platforms/mesa/server/x11/graphics/guest_platform.h (+0/-55)
src/platforms/mesa/server/x11/graphics/platform.cpp (+22/-0)
src/platforms/mesa/server/x11/graphics/platform.h (+10/-1)
src/platforms/mesa/server/x11/input/input_device.cpp (+14/-0)
src/platforms/mesa/server/x11/input/input_device.h (+2/-0)
src/platforms/mesa/server/x11/input/input_platform.cpp (+8/-0)
src/platforms/mesa/server/x11/input/input_platform.h (+2/-0)
src/platforms/mesa/server/x11/symbols.map.in (+2/-1)
src/protobuf/mir_protobuf.proto (+30/-2)
src/protobuf/symbols.map (+48/-0)
src/renderers/gl/renderer.cpp (+52/-63)
src/renderers/gl/renderer.h (+3/-3)
src/server/CMakeLists.txt (+4/-1)
src/server/compositor/CMakeLists.txt (+0/-3)
src/server/compositor/buffer_acquisition.h (+0/-7)
src/server/compositor/buffer_map.cpp (+10/-1)
src/server/compositor/buffer_map.h (+2/-1)
src/server/compositor/buffer_stream_factory.cpp (+1/-6)
src/server/compositor/buffer_stream_factory.h (+1/-5)
src/server/compositor/compositing_screencast.cpp (+42/-14)
src/server/compositor/compositing_screencast.h (+1/-2)
src/server/compositor/default_configuration.cpp (+4/-17)
src/server/compositor/default_display_buffer_compositor.cpp (+2/-1)
src/server/compositor/dropping_schedule.cpp (+17/-1)
src/server/compositor/dropping_schedule.h (+5/-3)
src/server/compositor/multi_monitor_arbiter.cpp (+2/-11)
src/server/compositor/multi_monitor_arbiter.h (+0/-3)
src/server/compositor/queueing_schedule.cpp (+7/-0)
src/server/compositor/queueing_schedule.h (+5/-3)
src/server/compositor/schedule.h (+3/-0)
src/server/compositor/screencast_display_buffer.cpp (+42/-16)
src/server/compositor/screencast_display_buffer.h (+8/-4)
src/server/compositor/stream.cpp (+26/-42)
src/server/compositor/stream.h (+4/-19)
src/server/compositor/timeout_frame_dropping_policy_factory.cpp (+0/-95)
src/server/compositor/timeout_frame_dropping_policy_factory.h (+0/-59)
src/server/default_server_configuration.cpp (+25/-3)
src/server/frontend/CMakeLists.txt (+3/-0)
src/server/frontend/authorizing_input_config_changer.cpp (+81/-0)
src/server/frontend/authorizing_input_config_changer.h (+47/-0)
src/server/frontend/default_configuration.cpp (+12/-1)
src/server/frontend/default_ipc_factory.cpp (+19/-5)
src/server/frontend/default_ipc_factory.h (+8/-4)
src/server/frontend/event_sender.cpp (+8/-12)
src/server/frontend/protobuf_buffer_packer.cpp (+5/-0)
src/server/frontend/protobuf_message_processor.cpp (+13/-5)
src/server/frontend/session_mediator.cpp (+107/-49)
src/server/frontend/session_mediator.h (+16/-11)
src/server/frontend/shell_wrapper.cpp (+3/-5)
src/server/frontend/shell_wrapper.h (+3/-2)
src/server/graphics/CMakeLists.txt (+1/-0)
src/server/graphics/default_configuration.cpp (+45/-22)
src/server/graphics/nested/CMakeLists.txt (+2/-0)
src/server/graphics/nested/buffer.cpp (+44/-15)
src/server/graphics/nested/cursor.cpp (+0/-1)
src/server/graphics/nested/display.cpp (+4/-4)
src/server/graphics/nested/display.h (+4/-4)
src/server/graphics/nested/display_buffer.cpp (+23/-25)
src/server/graphics/nested/display_buffer.h (+1/-2)
src/server/graphics/nested/host_buffer.cpp (+183/-0)
src/server/graphics/nested/host_buffer.h (+73/-0)
src/server/graphics/nested/host_connection.h (+6/-3)
src/server/graphics/nested/input_platform.cpp (+214/-23)
src/server/graphics/nested/input_platform.h (+9/-0)
src/server/graphics/nested/mir_client_host_connection.cpp (+59/-193)
src/server/graphics/nested/mir_client_host_connection.h (+4/-0)
src/server/graphics/nested/nested_display_configuration.cpp (+9/-1)
src/server/graphics/nested/platform.cpp (+93/-15)
src/server/graphics/nested/platform.h (+63/-14)
src/server/graphics/offscreen/CMakeLists.txt (+12/-0)
src/server/graphics/offscreen/display.cpp (+214/-0)
src/server/graphics/offscreen/display.h (+122/-0)
src/server/graphics/offscreen/display_buffer.cpp (+166/-0)
src/server/graphics/offscreen/display_buffer.h (+86/-0)
src/server/graphics/offscreen/display_configuration.cpp (+89/-0)
src/server/graphics/offscreen/display_configuration.h (+51/-0)
src/server/input/CMakeLists.txt (+0/-9)
src/server/input/android/CMakeLists.txt (+0/-11)
src/server/input/android/android_input_constants.h (+0/-36)
src/server/input/android/input_sender.cpp (+0/-406)
src/server/input/android/input_sender.h (+0/-135)
src/server/input/basic_seat.cpp (+132/-12)
src/server/input/basic_seat.h (+15/-8)
src/server/input/channel.cpp (+0/-63)
src/server/input/channel.h (+0/-48)
src/server/input/channel_factory.cpp (+0/-27)
src/server/input/channel_factory.h (+0/-42)
src/server/input/config_changer.cpp (+15/-2)
src/server/input/config_changer.h (+4/-1)
src/server/input/default_configuration.cpp (+25/-89)
src/server/input/default_device.cpp (+115/-4)
src/server/input/default_device.h (+29/-2)
src/server/input/default_input_device_hub.cpp (+305/-93)
src/server/input/default_input_device_hub.h (+37/-17)
src/server/input/default_input_manager.cpp (+10/-0)
src/server/input/default_input_manager.h (+2/-0)
src/server/input/display_input_region.cpp (+0/-51)
src/server/input/display_input_region.h (+0/-51)
src/server/input/null_input_channel_factory.cpp (+0/-44)
src/server/input/null_input_channel_factory.h (+0/-38)
src/server/input/null_input_manager.h (+6/-0)
src/server/input/null_input_targeter.h (+3/-1)
src/server/input/seat_input_device_tracker.cpp (+95/-34)
src/server/input/seat_input_device_tracker.h (+12/-3)
src/server/input/surface_input_dispatcher.cpp (+42/-8)
src/server/input/surface_input_dispatcher.h (+5/-1)
src/server/report/logging/CMakeLists.txt (+0/-2)
src/server/report/logging/display_configuration_report.cpp (+7/-2)
src/server/report/logging/display_report.cpp (+17/-0)
src/server/report/logging/input_report.cpp (+0/-70)
src/server/scene/application_session.cpp (+1/-11)
src/server/scene/application_session.h (+1/-3)
src/server/scene/basic_surface.cpp (+20/-31)
src/server/scene/basic_surface.h (+1/-14)
src/server/scene/default_configuration.cpp (+0/-3)
src/server/scene/legacy_surface_change_notification.cpp (+8/-0)
src/server/scene/legacy_surface_change_notification.h (+2/-0)
src/server/scene/mediating_display_changer.cpp (+1/-16)
src/server/scene/mediating_display_changer.h (+0/-8)
src/server/scene/null_surface_observer.cpp (+2/-0)
src/server/scene/session_manager.cpp (+56/-8)
src/server/scene/session_manager.h (+6/-0)
src/server/scene/surface_allocator.cpp (+0/-8)
src/server/scene/surface_allocator.h (+0/-9)
src/server/scene/surface_event_source.cpp (+13/-0)
src/server/scene/surface_stack.cpp (+1/-5)
src/server/scene/surface_stack.h (+0/-2)
src/server/server.cpp (+1/-0)
src/server/shell/CMakeLists.txt (+3/-3)
src/server/shell/abstract_shell.cpp (+34/-2)
src/server/shell/basic_window_manager.cpp (+53/-6)
src/server/shell/canonical_window_manager.cpp (+14/-1)
src/server/shell/default_configuration.cpp (+3/-0)
src/server/shell/frontend_shell.cpp (+25/-3)
src/server/shell/frontend_shell.h (+3/-2)
src/server/shell/shell_wrapper.cpp (+26/-0)
src/server/shell/system_compositor_window_manager.cpp (+14/-0)
src/server/shell/window_management_info.cpp (+72/-0)
src/server/symbols.map (+154/-71)
src/utils/out.c (+141/-20)
src/utils/screencast.cpp (+3/-14)
src/utils/vanity.c (+1/-0)
tests/CMakeLists.txt (+0/-9)
tests/acceptance-tests/CMakeLists.txt (+3/-8)
tests/acceptance-tests/buffer_stream_arrangement.h (+2/-2)
tests/acceptance-tests/client_mediated_user_gestures.cpp (+288/-0)
tests/acceptance-tests/drag_and_drop.cpp (+629/-0)
tests/acceptance-tests/server_configuration_options.cpp (+1/-1)
tests/acceptance-tests/test_buffer_stream_arrangement.cpp (+5/-2)
tests/acceptance-tests/test_client_authorization.cpp (+2/-0)
tests/acceptance-tests/test_client_cookie.cpp (+7/-3)
tests/acceptance-tests/test_client_cursor_api.cpp (+380/-190)
tests/acceptance-tests/test_client_extensions.cpp (+16/-0)
tests/acceptance-tests/test_client_focus_notification.cpp (+5/-8)
tests/acceptance-tests/test_client_input.cpp (+670/-10)
tests/acceptance-tests/test_client_library.cpp (+34/-40)
tests/acceptance-tests/test_client_library_callbacks.cpp (+3/-3)
tests/acceptance-tests/test_client_library_errors.cpp (+18/-3)
tests/acceptance-tests/test_client_logging.cpp (+3/-1)
tests/acceptance-tests/test_client_scaling.cpp (+6/-4)
tests/acceptance-tests/test_client_screencast.cpp (+85/-0)
tests/acceptance-tests/test_client_surface_events.cpp (+109/-5)
tests/acceptance-tests/test_client_surface_swap_buffers.cpp (+24/-12)
tests/acceptance-tests/test_client_surface_visibility.cpp (+7/-1)
tests/acceptance-tests/test_client_surfaces.cpp (+60/-3)
tests/acceptance-tests/test_confined_pointer.cpp (+7/-2)
tests/acceptance-tests/test_custom_window_management.cpp (+47/-2)
tests/acceptance-tests/test_display_configuration.cpp (+3/-3)
tests/acceptance-tests/test_input_device_hub.cpp (+4/-2)
tests/acceptance-tests/test_latency.cpp (+64/-8)
tests/acceptance-tests/test_mirblob.cpp (+2/-2)
tests/acceptance-tests/test_nested_input.cpp (+266/-27)
tests/acceptance-tests/test_nested_mir.cpp (+94/-2)
tests/acceptance-tests/test_new_display_configuration.cpp (+90/-7)
tests/acceptance-tests/test_persistent_surface_store.cpp (+4/-4)
tests/acceptance-tests/test_presentation_chain.cpp (+8/-4)
tests/acceptance-tests/test_prompt_session_client_api.cpp (+7/-3)
tests/acceptance-tests/test_render_override.cpp (+7/-4)
tests/acceptance-tests/test_server_disconnect.cpp (+6/-0)
tests/acceptance-tests/test_server_shutdown.cpp (+2/-1)
tests/acceptance-tests/test_session_mediator_report.cpp (+9/-1)
tests/acceptance-tests/test_shell_control_of_surface_configuration.cpp (+6/-3)
tests/acceptance-tests/test_surface_modifications.cpp (+6/-3)
tests/acceptance-tests/test_surface_morphing.cpp (+34/-4)
tests/acceptance-tests/test_surface_placement.cpp (+9/-0)
tests/acceptance-tests/test_surface_raise.cpp (+3/-2)
tests/acceptance-tests/test_surface_specification.cpp (+393/-332)
tests/acceptance-tests/test_surfaces_with_output_id.cpp (+6/-0)
tests/acceptance-tests/test_system_compositor_window_manager.cpp (+6/-1)
tests/client-language/c99.c (+0/-2)
tests/include/mir/test/doubles/mock_android_alloc_device.h (+0/-139)
tests/include/mir/test/doubles/mock_android_hw.h (+0/-77)
tests/include/mir/test/doubles/mock_android_native_buffer.h (+0/-73)
tests/include/mir/test/doubles/mock_buffer_registrar.h (+0/-50)
tests/include/mir/test/doubles/mock_buffer_stream.h (+4/-1)
tests/include/mir/test/doubles/mock_client_buffer_factory.h (+1/-1)
tests/include/mir/test/doubles/mock_client_platform.h (+78/-0)
tests/include/mir/test/doubles/mock_device.h (+71/-0)
tests/include/mir/test/doubles/mock_display.h (+1/-1)
tests/include/mir/test/doubles/mock_display_buffer.h (+1/-2)
tests/include/mir/test/doubles/mock_display_device.h (+0/-56)
tests/include/mir/test/doubles/mock_drm.h (+35/-1)
tests/include/mir/test/doubles/mock_fence.h (+0/-47)
tests/include/mir/test/doubles/mock_frame_dropping_policy_factory.h (+0/-104)
tests/include/mir/test/doubles/mock_framebuffer_bundle.h (+0/-56)
tests/include/mir/test/doubles/mock_frontend_surface.h (+5/-14)
tests/include/mir/test/doubles/mock_gbm.h (+1/-0)
tests/include/mir/test/doubles/mock_hwc_device_wrapper.h (+0/-70)
tests/include/mir/test/doubles/mock_hwc_layerlist.h (+0/-43)
tests/include/mir/test/doubles/mock_hwc_report.h (+0/-53)
tests/include/mir/test/doubles/mock_input_config_changer.h (+54/-0)
tests/include/mir/test/doubles/mock_input_device.h (+3/-0)
tests/include/mir/test/doubles/mock_input_manager.h (+2/-0)
tests/include/mir/test/doubles/mock_input_platform.h (+2/-0)
tests/include/mir/test/doubles/mock_input_region.h (+0/-49)
tests/include/mir/test/doubles/mock_input_seat.h (+3/-1)
tests/include/mir/test/doubles/mock_input_sender.h (+0/-41)
tests/include/mir/test/doubles/mock_input_sink.h (+1/-0)
tests/include/mir/test/doubles/mock_input_surface.h (+0/-1)
tests/include/mir/test/doubles/mock_input_targeter.h (+3/-0)
tests/include/mir/test/doubles/mock_interpreter_resource_cache.h (+0/-39)
tests/include/mir/test/doubles/mock_key_mapper.h (+1/-0)
tests/include/mir/test/doubles/mock_libinput.h (+1/-1)
tests/include/mir/test/doubles/mock_mesa_auth_extensions.h (+1/-1)
tests/include/mir/test/doubles/mock_mir_buffer.h (+4/-2)
tests/include/mir/test/doubles/mock_mir_buffer_stream.h (+5/-2)
tests/include/mir/test/doubles/mock_renderable_list_compositor.h (+0/-41)
tests/include/mir/test/doubles/mock_renderer.h (+1/-1)
tests/include/mir/test/doubles/mock_scene_session.h (+0/-2)
tests/include/mir/test/doubles/mock_shell.h (+3/-0)
tests/include/mir/test/doubles/mock_surface.h (+0/-9)
tests/include/mir/test/doubles/mock_swapping_gl_context.h (+0/-42)
tests/include/mir/test/doubles/mock_window_handle_repository.h (+0/-49)
tests/include/mir/test/doubles/null_client_buffer.h (+1/-1)
tests/include/mir/test/doubles/stub_android_native_buffer.h (+0/-64)
tests/include/mir/test/doubles/stub_buffer.h (+3/-3)
tests/include/mir/test/doubles/stub_buffer_allocator.h (+8/-5)
tests/include/mir/test/doubles/stub_buffer_stream.h (+1/-4)
tests/include/mir/test/doubles/stub_buffer_stream_factory.h (+1/-1)
tests/include/mir/test/doubles/stub_client_buffer.h (+1/-1)
tests/include/mir/test/doubles/stub_client_buffer_factory.h (+1/-1)
tests/include/mir/test/doubles/stub_client_platform_factory.h (+50/-0)
tests/include/mir/test/doubles/stub_cmdstream_sync_factory.h (+0/-41)
tests/include/mir/test/doubles/stub_display_builder.h (+0/-149)
tests/include/mir/test/doubles/stub_display_server.h (+43/-42)
tests/include/mir/test/doubles/stub_driver_interpreter.h (+0/-88)
tests/include/mir/test/doubles/stub_frame_dropping_policy_factory.h (+0/-60)
tests/include/mir/test/doubles/stub_gl_buffer.h (+4/-1)
tests/include/mir/test/doubles/stub_host_connection.h (+10/-0)
tests/include/mir/test/doubles/stub_input_channel.h (+0/-60)
tests/include/mir/test/doubles/stub_input_sender.h (+0/-42)
tests/include/mir/test/doubles/stub_input_surface.h (+2/-14)
tests/include/mir/test/doubles/stub_input_targeter.h (+3/-0)
tests/include/mir/test/doubles/stub_renderable_list_compositor.h (+0/-44)
tests/include/mir/test/doubles/stub_renderer.h (+1/-1)
tests/include/mir/test/doubles/stub_scene_surface.h (+1/-15)
tests/include/mir/test/doubles/stub_swapping_gl_context.h (+0/-57)
tests/include/mir/test/stub_server_tool.h (+30/-0)
tests/include/mir/test/test_protobuf_client.h (+6/-1)
tests/include/mir_test_framework/client_platform_factory.h (+1/-13)
tests/include/mir_test_framework/fake_input_server_configuration.h (+0/-1)
tests/include/mir_test_framework/input_testing_server_configuration.h (+0/-1)
tests/include/mir_test_framework/stub_client_platform_factory.h (+5/-2)
tests/include/mir_test_framework/stub_input_platform.h (+2/-0)
tests/include/mir_test_framework/stubbed_server_configuration.h (+0/-4)
tests/integration-tests/CMakeLists.txt (+0/-24)
tests/integration-tests/client/test_mirsurface.cpp (+15/-2)
tests/integration-tests/compositor/test_swapping_swappers.cpp (+1/-4)
tests/integration-tests/graphics/mesa/test_buffer_integration.cpp (+1/-2)
tests/integration-tests/input/test_single_seat_setup.cpp (+102/-47)
tests/integration-tests/test_buffer_scheduling.cpp (+2/-37)
tests/integration-tests/test_client_screencast.cpp (+4/-0)
tests/integration-tests/test_error_reporting.cpp (+3/-1)
tests/integration-tests/test_focus_selection.cpp (+3/-0)
tests/integration-tests/test_macros.cpp (+0/-28)
tests/integration-tests/test_protobuf.cpp (+0/-316)
tests/integration-tests/test_protobuf.proto (+0/-20)
tests/integration-tests/test_server_shutdown.cpp (+7/-8)
tests/integration-tests/test_stale_frames.cpp (+6/-2)
tests/integration-tests/test_submit_buffer.cpp (+6/-4)
tests/integration-tests/test_surface_first_frame_sync.cpp (+4/-3)
tests/integration-tests/test_surface_stack_with_compositor.cpp (+1/-6)
tests/integration-tests/test_surfaceloop.cpp (+3/-0)
tests/integration-tests/test_swapinterval.cpp (+6/-0)
tests/integration-tests/test_test_framework.cpp (+1/-1)
tests/mir_test/display_config_matchers.cpp (+27/-2)
tests/mir_test_doubles/CMakeLists.txt (+0/-10)
tests/mir_test_doubles/fake_alarm_factory.cpp (+6/-4)
tests/mir_test_doubles/mock_android_hw.cpp (+0/-113)
tests/mir_test_doubles/mock_drm.cpp (+180/-7)
tests/mir_test_doubles/mock_egl.cpp (+3/-3)
tests/mir_test_doubles/mock_frame_dropping_policy_factory.cpp (+0/-78)
tests/mir_test_doubles/mock_gbm.cpp (+5/-0)
tests/mir_test_doubles/mock_gl.cpp (+8/-0)
tests/mir_test_doubles/mock_input_device.cpp (+7/-0)
tests/mir_test_doubles/mock_libinput.cpp (+8/-8)
tests/mir_test_doubles/stub_display_configuration.cpp (+4/-1)
tests/mir_test_doubles/test_protobuf_client.cpp (+3/-2)
tests/mir_test_framework/CMakeLists.txt (+1/-3)
tests/mir_test_framework/any_surface.cpp (+23/-1)
tests/mir_test_framework/connected_client_with_a_window.cpp (+6/-3)
tests/mir_test_framework/fake_input_device_impl.cpp (+93/-14)
tests/mir_test_framework/fake_input_device_impl.h (+18/-0)
tests/mir_test_framework/fake_input_server_configuration.cpp (+0/-5)
tests/mir_test_framework/headless_test.cpp (+1/-1)
tests/mir_test_framework/input_testing_server_options.cpp (+0/-6)
tests/mir_test_framework/libinput_environment.cpp (+1/-1)
tests/mir_test_framework/observant_shell.cpp (+5/-121)
tests/mir_test_framework/platform_graphics_throw.cpp (+28/-8)
tests/mir_test_framework/stub_client_platform_factory.cpp (+8/-5)
tests/mir_test_framework/stub_client_platform_module.cpp (+2/-2)
tests/mir_test_framework/stub_input_platform.cpp (+9/-0)
tests/mir_test_framework/stub_server_platform_factory.cpp (+7/-0)
tests/mir_test_framework/stub_session.cpp (+0/-4)
tests/mir_test_framework/stub_surface.cpp (+4/-15)
tests/mir_test_framework/stubbed_graphics_platform.cpp (+62/-11)
tests/mir_test_framework/stubbed_server_configuration.cpp (+0/-11)
tests/mir_test_framework/symbols-server.map.in (+2/-0)
tests/mir_test_framework/visible_surface.cpp (+3/-0)
tests/mirtest.pc.in (+1/-1)
tests/performance-tests/CMakeLists.txt (+0/-3)
tests/performance-tests/test_client_startup.cpp (+6/-0)
tests/performance-tests/test_glmark2-es2-mir.cpp (+0/-22)
tests/privileged-tests/test_input_events.cpp (+4/-3)
tests/test-clients/impolite-shutdown/scroll.cpp (+3/-2)
tests/test-clients/mir-stress/src/client.cpp (+3/-0)
tests/unit-tests/CMakeLists.txt (+8/-10)
tests/unit-tests/android_input/CMakeLists.txt (+0/-11)
tests/unit-tests/android_input/int_set.cpp (+0/-133)
tests/unit-tests/android_input/property_map.cpp (+0/-128)
tests/unit-tests/android_input/sorted_vector.cpp (+0/-204)
tests/unit-tests/android_input/string8.cpp (+0/-48)
tests/unit-tests/client/input/CMakeLists.txt (+0/-1)
tests/unit-tests/client/input/test_android_input_receiver.cpp (+0/-341)
tests/unit-tests/client/input/test_xkb_mapper.cpp (+61/-0)
tests/unit-tests/client/test_android_client_buffer_factory.cpp (+0/-74)
tests/unit-tests/client/test_buffer_vault.cpp (+1/-1)
tests/unit-tests/client/test_client_buffer_stream.cpp (+29/-3)
tests/unit-tests/client/test_client_mir_surface.cpp (+14/-107)
tests/unit-tests/client/test_client_platform.cpp (+3/-26)
tests/unit-tests/client/test_frame_clock.cpp (+37/-2)
tests/unit-tests/client/test_mir_buffer.cpp (+3/-0)
tests/unit-tests/client/test_mir_connection.cpp (+9/-4)
tests/unit-tests/client/test_mir_prompt_session.cpp (+2/-2)
tests/unit-tests/client/test_mir_render_surface.cpp (+6/-57)
tests/unit-tests/client/test_mir_screencast.cpp (+4/-4)
tests/unit-tests/client/test_presentation_chain.cpp (+4/-1)
tests/unit-tests/client/test_probing_client_platform_factory.cpp (+2/-34)
tests/unit-tests/client/test_protobuf_rpc_channel.cpp (+27/-8)
tests/unit-tests/client/test_screencast_stream.cpp (+7/-3)
tests/unit-tests/client/test_stream_transport.cpp (+4/-4)
tests/unit-tests/compositor/CMakeLists.txt (+0/-1)
tests/unit-tests/compositor/test_client_buffers.cpp (+4/-4)
tests/unit-tests/compositor/test_compositing_screencast.cpp (+0/-1)
tests/unit-tests/compositor/test_default_display_buffer_compositor.cpp (+60/-23)
tests/unit-tests/compositor/test_dropping_schedule.cpp (+26/-2)
tests/unit-tests/compositor/test_multi_monitor_arbiter.cpp (+21/-31)
tests/unit-tests/compositor/test_queueing_schedule.cpp (+19/-0)
tests/unit-tests/compositor/test_screencast_display_buffer.cpp (+29/-3)
tests/unit-tests/compositor/test_stream.cpp (+19/-115)
tests/unit-tests/compositor/test_temporary_buffers.cpp (+0/-1)
tests/unit-tests/compositor/test_timeout_frame_dropping_policy.cpp (+0/-196)
tests/unit-tests/frontend/CMakeLists.txt (+1/-0)
tests/unit-tests/frontend/stress_protobuf_communicator.cpp (+4/-3)
tests/unit-tests/frontend/test_authorizing_input_config_changer.cpp (+95/-0)
tests/unit-tests/frontend/test_event_sender.cpp (+2/-2)
tests/unit-tests/frontend/test_session_mediator.cpp (+36/-50)
tests/unit-tests/graphics/CMakeLists.txt (+1/-0)
tests/unit-tests/graphics/offscreen/CMakeLists.txt (+6/-0)
tests/unit-tests/graphics/offscreen/test_offscreen_display.cpp (+175/-0)
tests/unit-tests/graphics/test_default_display_configuration_policy.cpp (+9/-6)
tests/unit-tests/graphics/test_display_configuration.cpp (+28/-0)
tests/unit-tests/graphics/test_overlapping_output_grouping.cpp (+1/-0)
tests/unit-tests/graphics/test_platform_prober.cpp (+0/-79)
tests/unit-tests/input/CMakeLists.txt (+1/-3)
tests/unit-tests/input/android/CMakeLists.txt (+0/-11)
tests/unit-tests/input/android/test_android_communication_package.cpp (+0/-45)
tests/unit-tests/input/android/test_android_input_lexicon.cpp (+0/-232)
tests/unit-tests/input/android/test_android_input_sender.cpp (+0/-539)
tests/unit-tests/input/android/test_input_consumer.cpp (+0/-361)
tests/unit-tests/input/evdev/test_libinput_device.cpp (+195/-15)
tests/unit-tests/input/test_config_changer.cpp (+18/-29)
tests/unit-tests/input/test_cursor_controller.cpp (+1/-6)
tests/unit-tests/input/test_default_device.cpp (+161/-0)
tests/unit-tests/input/test_default_input_device_hub.cpp (+119/-14)
tests/unit-tests/input/test_default_input_manager.cpp (+17/-27)
tests/unit-tests/input/test_display_input_region.cpp (+0/-87)
tests/unit-tests/input/test_event_filter_chain_dispatcher.cpp (+0/-2)
tests/unit-tests/input/test_external_input_device_hub.cpp (+119/-0)
tests/unit-tests/input/test_input_channel_factory.cpp (+0/-35)
tests/unit-tests/input/test_key_repeat_dispatcher.cpp (+3/-0)
tests/unit-tests/input/test_nested_input_platform.cpp (+32/-0)
tests/unit-tests/input/test_seat_input_device_tracker.cpp (+1/-4)
tests/unit-tests/logging/CMakeLists.txt (+0/-1)
tests/unit-tests/logging/test_display_report.cpp (+23/-9)
tests/unit-tests/logging/test_legacy_input_report.cpp (+0/-114)
tests/unit-tests/platforms/CMakeLists.txt (+0/-4)
tests/unit-tests/platforms/android/CMakeLists.txt (+0/-46)
tests/unit-tests/platforms/android/client/CMakeLists.txt (+0/-27)
tests/unit-tests/platforms/android/client/test_android_client_platform.cpp (+0/-306)
tests/unit-tests/platforms/android/client/test_android_native_window.cpp (+0/-394)
tests/unit-tests/platforms/android/client/test_buffer.cpp (+0/-135)
tests/unit-tests/platforms/android/client/test_egl_native_surface_interpreter.cpp (+0/-274)
tests/unit-tests/platforms/android/client/test_gralloc_registrar.cpp (+0/-290)
tests/unit-tests/platforms/android/server/CMakeLists.txt (+0/-39)
tests/unit-tests/platforms/android/server/hwc_struct_helpers.cpp (+0/-77)
tests/unit-tests/platforms/android/server/hwc_struct_helpers.h (+0/-154)
tests/unit-tests/platforms/android/server/test_anw_logger.cpp (+0/-107)
tests/unit-tests/platforms/android/server/test_buffer.cpp (+0/-224)
tests/unit-tests/platforms/android/server/test_buffer_tex_bind.cpp (+0/-409)
tests/unit-tests/platforms/android/server/test_device_detection.cpp (+0/-408)
tests/unit-tests/platforms/android/server/test_display.cpp (+0/-1149)
tests/unit-tests/platforms/android/server/test_display_buffer.cpp (+0/-357)
tests/unit-tests/platforms/android/server/test_display_generic.cpp (+0/-81)
tests/unit-tests/platforms/android/server/test_display_group.cpp (+0/-118)
tests/unit-tests/platforms/android/server/test_display_hotplug.cpp (+0/-155)
tests/unit-tests/platforms/android/server/test_egl_sync_extensions.cpp (+0/-75)
tests/unit-tests/platforms/android/server/test_egl_sync_fence.cpp (+0/-151)
tests/unit-tests/platforms/android/server/test_fb_device.cpp (+0/-204)
tests/unit-tests/platforms/android/server/test_framebuffers.cpp (+0/-97)
tests/unit-tests/platforms/android/server/test_gralloc.cpp (+0/-194)
tests/unit-tests/platforms/android/server/test_graphic_buffer_allocator.cpp (+0/-183)
tests/unit-tests/platforms/android/server/test_graphics_platform.cpp (+0/-67)
tests/unit-tests/platforms/android/server/test_hwc_configuration.cpp (+0/-325)
tests/unit-tests/platforms/android/server/test_hwc_device.cpp (+0/-881)
tests/unit-tests/platforms/android/server/test_hwc_fallback_gl_renderer.cpp (+0/-360)
tests/unit-tests/platforms/android/server/test_hwc_fb_device.cpp (+0/-186)
tests/unit-tests/platforms/android/server/test_hwc_layerlist.cpp (+0/-251)
tests/unit-tests/platforms/android/server/test_hwc_layers.cpp (+0/-405)
tests/unit-tests/platforms/android/server/test_hwc_logger.cpp (+0/-292)
tests/unit-tests/platforms/android/server/test_hwc_wrapper.cpp (+0/-368)
tests/unit-tests/platforms/android/server/test_interpreter_buffer_cache.cpp (+0/-110)
tests/unit-tests/platforms/android/server/test_ipc_operations.cpp (+0/-50)
tests/unit-tests/platforms/android/server/test_native_buffer.cpp (+0/-201)
tests/unit-tests/platforms/android/server/test_output_builder.cpp (+0/-242)
tests/unit-tests/platforms/android/server/test_pixel_format.cpp (+0/-44)
tests/unit-tests/platforms/android/server/test_platform.cpp (+0/-295)
tests/unit-tests/platforms/android/server/test_resource_factory.cpp (+0/-124)
tests/unit-tests/platforms/android/server/test_server_interpreter.cpp (+0/-201)
tests/unit-tests/platforms/android/server/test_sync_fence.cpp (+0/-164)
tests/unit-tests/platforms/mesa/CMakeLists.txt (+2/-1)
tests/unit-tests/platforms/mesa/client/test_client_platform.cpp (+1/-1)
tests/unit-tests/platforms/mesa/client/test_native_surface.cpp (+16/-5)
tests/unit-tests/platforms/mesa/kms-utils/test_connector_utils.cpp (+74/-43)
tests/unit-tests/platforms/mesa/kms/CMakeLists.txt (+0/-1)
tests/unit-tests/platforms/mesa/kms/mock_kms_output.h (+31/-4)
tests/unit-tests/platforms/mesa/kms/test_cursor.cpp (+168/-125)
tests/unit-tests/platforms/mesa/kms/test_display.cpp (+63/-58)
tests/unit-tests/platforms/mesa/kms/test_display_buffer.cpp (+92/-206)
tests/unit-tests/platforms/mesa/kms/test_display_configuration.cpp (+377/-283)
tests/unit-tests/platforms/mesa/kms/test_display_generic.cpp (+13/-0)
tests/unit-tests/platforms/mesa/kms/test_display_multi_monitor.cpp (+49/-28)
tests/unit-tests/platforms/mesa/kms/test_drm_helper.cpp (+20/-2)
tests/unit-tests/platforms/mesa/kms/test_guest_platform.cpp (+0/-102)
tests/unit-tests/platforms/mesa/kms/test_kms_page_flipper.cpp (+42/-31)
tests/unit-tests/platforms/mesa/kms/test_nested_authentication.cpp (+14/-14)
tests/unit-tests/platforms/mesa/kms/test_platform.cpp (+16/-20)
tests/unit-tests/platforms/mesa/kms/test_real_kms_output.cpp (+194/-94)
tests/unit-tests/platforms/mesa/x11/CMakeLists.txt (+0/-1)
tests/unit-tests/platforms/mesa/x11/test_guest_platform.cpp (+0/-70)
tests/unit-tests/platforms/mesa/x11/test_platform.cpp (+1/-1)
tests/unit-tests/platforms/nested/CMakeLists.txt (+1/-0)
tests/unit-tests/platforms/nested/mir_display_configuration_builder.cpp (+8/-0)
tests/unit-tests/platforms/nested/test_buffer.cpp (+24/-0)
tests/unit-tests/platforms/nested/test_host_buffer.cpp (+153/-0)
tests/unit-tests/platforms/nested/test_ipc_operations.cpp (+2/-10)
tests/unit-tests/platforms/nested/test_nested_cursor.cpp (+3/-1)
tests/unit-tests/platforms/nested/test_nested_display.cpp (+2/-0)
tests/unit-tests/renderers/gl/test_gl_renderer.cpp (+152/-0)
tests/unit-tests/scene/test_application_session.cpp (+2/-0)
tests/unit-tests/scene/test_basic_surface.cpp (+0/-35)
tests/unit-tests/scene/test_mediating_display_changer.cpp (+1/-165)
tests/unit-tests/scene/test_session_manager.cpp (+43/-2)
tests/unit-tests/scene/test_surface.cpp (+8/-42)
tests/unit-tests/scene/test_surface_impl.cpp (+1/-6)
tests/unit-tests/scene/test_surface_stack.cpp (+4/-65)
tests/unit-tests/test_glib_main_loop.cpp (+2/-2)
tests/unit-tests/test_posix_rw_mutex.cpp (+3/-5)
tests/unit-tests/test_raii.cpp (+1/-1)
tools/abi_check.sh (+1/-10)
tools/abigail_check.sh (+0/-10)
tools/process_doxygen_xml.py (+19/-20)
tools/setup-android-dependencies.sh (+0/-17)
tools/update_package_abis.sh (+0/-2)
tools/valgrind_suppressions_armhf (+0/-8)
Text conflict in debian/changelog
To merge this branch: bzr merge lp:mir/0.27
Reviewer Review Type Date Requested Status
Mir development team 2017-06-15 Pending
Review via email: mp+325738@code.launchpad.net

Commit message

Merge Mir 0.27 into zesty

To post a comment you must log in.
lp:mir/0.27 updated on 2017-06-30
1304. By Alan Griffiths on 2017-06-28

Merge lp:mir for 0.27 release

1305. By Alan Griffiths on 2017-06-28

Cherrypick fix for LP: #lp:1699484

1306. By Alan Griffiths on 2017-06-28

Cherrypick fix for LP: #lp:1700981

1307. By Alan Griffiths on 2017-06-29

Re-sync with lp:mir

1308. By Alan Griffiths on 2017-06-30

cherrypick approved MP lp:~alan-griffiths/mir/fix-1701308

1309. By Alan Griffiths on 2017-06-30

cherrypick approved MP lp:~alan-griffiths/mir/bump-protocol-version

Unmerged revisions

1309. By Alan Griffiths on 2017-06-30

cherrypick approved MP lp:~alan-griffiths/mir/bump-protocol-version

1308. By Alan Griffiths on 2017-06-30

cherrypick approved MP lp:~alan-griffiths/mir/fix-1701308

1307. By Alan Griffiths on 2017-06-29

Re-sync with lp:mir

1306. By Alan Griffiths on 2017-06-28

Cherrypick fix for LP: #lp:1700981

1305. By Alan Griffiths on 2017-06-28

Cherrypick fix for LP: #lp:1699484

1304. By Alan Griffiths on 2017-06-28

Merge lp:mir for 0.27 release

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '3rd_party'
2=== removed file '3rd_party/CMakeLists.txt'
3--- 3rd_party/CMakeLists.txt 2017-01-18 02:29:37 +0000
4+++ 3rd_party/CMakeLists.txt 1970-01-01 00:00:00 +0000
5@@ -1,22 +0,0 @@
6-
7-# Warnings in 3rd party code are not to be considered errors. :(
8-string (REPLACE " -Werror " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
9-
10-list(
11- APPEND MIR_3RD_PARTY_INCLUDE_DIRECTORIES
12- ${CMAKE_CURRENT_SOURCE_DIR}/android-deps
13- )
14-
15-set(MIR_3RD_PARTY_INCLUDE_DIRECTORIES ${MIR_3RD_PARTY_INCLUDE_DIRECTORIES} PARENT_SCOPE)
16-
17-include_directories(${PROJECT_SOURCE_DIR}/src/include/cookie)
18-include_directories(${PROJECT_SOURCE_DIR}/src/include/common)
19-include_directories(${PROJECT_SOURCE_DIR}/src/include/platform)
20-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/android-deps)
21-add_subdirectory(android-input)
22-
23-set(MIR_ANDROID_INCLUDE_DIRECTORIES ${MIR_ANDROID_INCLUDE_DIRECTORIES} PARENT_SCOPE)
24-set(
25- MIR_ANDROID_INPUT_COMPILE_FLAGS
26- ${MIR_ANDROID_INPUT_COMPILE_FLAGS}
27- PARENT_SCOPE)
28
29=== removed directory '3rd_party/android-deps'
30=== removed directory '3rd_party/android-deps/android'
31=== removed file '3rd_party/android-deps/android/input.h'
32--- 3rd_party/android-deps/android/input.h 2016-05-12 12:05:56 +0000
33+++ 3rd_party/android-deps/android/input.h 1970-01-01 00:00:00 +0000
34@@ -1,470 +0,0 @@
35-/*
36- * Copyright (C) 2010 The Android Open Source Project
37- *
38- * Licensed under the Apache License, Version 2.0 (the "License");
39- * you may not use this file except in compliance with the License.
40- * You may obtain a copy of the License at
41- *
42- * http://www.apache.org/licenses/LICENSE-2.0
43- *
44- * Unless required by applicable law or agreed to in writing, software
45- * distributed under the License is distributed on an "AS IS" BASIS,
46- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
47- * See the License for the specific language governing permissions and
48- * limitations under the License.
49- */
50-
51-#ifndef _ANDROID_INPUT_H
52-#define _ANDROID_INPUT_H
53-
54-/******************************************************************
55- *
56- * IMPORTANT NOTICE:
57- *
58- * This file is part of Android's set of stable system headers
59- * exposed by the Android NDK (Native Development Kit).
60- *
61- * Third-party source AND binary code relies on the definitions
62- * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
63- *
64- * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
65- * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
66- * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
67- * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
68- */
69-
70-/*
71- * Structures and functions to receive and process input events in
72- * native code.
73- *
74- * NOTE: These functions MUST be implemented by /system/lib/libui.so
75- */
76-
77-#include <stdint.h>
78-#include <sys/types.h>
79-
80-#ifdef __cplusplus
81-extern "C" {
82-#endif
83-
84-/*
85- * Key states (may be returned by queries about the current state of a
86- * particular key code, scan code or switch).
87- */
88-enum {
89- /* The key state is unknown or the requested key itself is not supported. */
90- AKEY_STATE_UNKNOWN = -1,
91-
92- /* The key is up. */
93- AKEY_STATE_UP = 0,
94-
95- /* The key is down. */
96- AKEY_STATE_DOWN = 1,
97-
98- /* The key is down but is a virtual key press that is being emulated by the system. */
99- AKEY_STATE_VIRTUAL = 2
100-};
101-
102-/*
103- * Meta key / modifer state.
104- */
105-enum {
106- /* No meta keys are pressed. */
107- AMETA_NONE = 0,
108-
109- /* This mask is used to check whether one of the ALT meta keys is pressed. */
110- AMETA_ALT_ON = 0x02,
111-
112- /* This mask is used to check whether the left ALT meta key is pressed. */
113- AMETA_ALT_LEFT_ON = 0x10,
114-
115- /* This mask is used to check whether the right ALT meta key is pressed. */
116- AMETA_ALT_RIGHT_ON = 0x20,
117-
118- /* This mask is used to check whether one of the SHIFT meta keys is pressed. */
119- AMETA_SHIFT_ON = 0x01,
120-
121- /* This mask is used to check whether the left SHIFT meta key is pressed. */
122- AMETA_SHIFT_LEFT_ON = 0x40,
123-
124- /* This mask is used to check whether the right SHIFT meta key is pressed. */
125- AMETA_SHIFT_RIGHT_ON = 0x80,
126-
127- /* This mask is used to check whether the SYM meta key is pressed. */
128- AMETA_SYM_ON = 0x04,
129-
130- /* This mask is used to check whether the FUNCTION meta key is pressed. */
131- AMETA_FUNCTION_ON = 0x08,
132-
133- /* This mask is used to check whether one of the CTRL meta keys is pressed. */
134- AMETA_CTRL_ON = 0x1000,
135-
136- /* This mask is used to check whether the left CTRL meta key is pressed. */
137- AMETA_CTRL_LEFT_ON = 0x2000,
138-
139- /* This mask is used to check whether the right CTRL meta key is pressed. */
140- AMETA_CTRL_RIGHT_ON = 0x4000,
141-
142- /* This mask is used to check whether one of the META meta keys is pressed. */
143- AMETA_META_ON = 0x10000,
144-
145- /* This mask is used to check whether the left META meta key is pressed. */
146- AMETA_META_LEFT_ON = 0x20000,
147-
148- /* This mask is used to check whether the right META meta key is pressed. */
149- AMETA_META_RIGHT_ON = 0x40000,
150-
151- /* This mask is used to check whether the CAPS LOCK meta key is on. */
152- AMETA_CAPS_LOCK_ON = 0x100000,
153-
154- /* This mask is used to check whether the NUM LOCK meta key is on. */
155- AMETA_NUM_LOCK_ON = 0x200000,
156-
157- /* This mask is used to check whether the SCROLL LOCK meta key is on. */
158- AMETA_SCROLL_LOCK_ON = 0x400000
159-};
160-
161-/*
162- * Input events.
163- *
164- * Input events are opaque structures. Use the provided accessors functions to
165- * read their properties.
166- */
167-struct AInputEvent;
168-typedef struct AInputEvent AInputEvent;
169-
170-/*
171- * Input event types.
172- */
173-enum {
174- /* Indicates that the input event is a key event. */
175- AINPUT_EVENT_TYPE_KEY = 1,
176-
177- /* Indicates that the input event is a motion event. */
178- AINPUT_EVENT_TYPE_MOTION = 2,
179-
180- /* Indicates that the event contains a raw buffer. */
181- AINPUT_EVENT_TYPE_BUFFER = 3
182-};
183-
184-/*
185- * Key event actions.
186- */
187-enum {
188- /* The key has been pressed down. */
189- AKEY_EVENT_ACTION_DOWN = 0,
190-
191- /* The key has been released. */
192- AKEY_EVENT_ACTION_UP = 1,
193-
194- /* Multiple duplicate key events have occurred in a row, or a complex string is
195- * being delivered. The repeat_count property of the key event contains the number
196- * of times the given key code should be executed.
197- */
198- AKEY_EVENT_ACTION_MULTIPLE = 2
199-};
200-
201-/*
202- * Key event flags.
203- */
204-enum {
205- /* This mask is set if the device woke because of this key event. */
206- AKEY_EVENT_FLAG_WOKE_HERE = 0x1,
207-
208- /* This mask is set if the key event was generated by a software keyboard. */
209- AKEY_EVENT_FLAG_SOFT_KEYBOARD = 0x2,
210-
211- /* This mask is set if we don't want the key event to cause us to leave touch mode. */
212- AKEY_EVENT_FLAG_KEEP_TOUCH_MODE = 0x4,
213-
214- /* This mask is set if an event was known to come from a trusted part
215- * of the system. That is, the event is known to come from the user,
216- * and could not have been spoofed by a third party component. */
217- AKEY_EVENT_FLAG_FROM_SYSTEM = 0x8,
218-
219- /* This mask is used for compatibility, to identify enter keys that are
220- * coming from an IME whose enter key has been auto-labelled "next" or
221- * "done". This allows TextView to dispatch these as normal enter keys
222- * for old applications, but still do the appropriate action when
223- * receiving them. */
224- AKEY_EVENT_FLAG_EDITOR_ACTION = 0x10,
225-
226- /* When associated with up key events, this indicates that the key press
227- * has been canceled. Typically this is used with virtual touch screen
228- * keys, where the user can slide from the virtual key area on to the
229- * display: in that case, the application will receive a canceled up
230- * event and should not perform the action normally associated with the
231- * key. Note that for this to work, the application can not perform an
232- * action for a key until it receives an up or the long press timeout has
233- * expired. */
234- AKEY_EVENT_FLAG_CANCELED = 0x20,
235-
236- /* This key event was generated by a virtual (on-screen) hard key area.
237- * Typically this is an area of the touchscreen, outside of the regular
238- * display, dedicated to "hardware" buttons. */
239- AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY = 0x40,
240-
241- /* This flag is set for the first key repeat that occurs after the
242- * long press timeout. */
243- AKEY_EVENT_FLAG_LONG_PRESS = 0x80,
244-
245- /* Set when a key event has AKEY_EVENT_FLAG_CANCELED set because a long
246- * press action was executed while it was down. */
247- AKEY_EVENT_FLAG_CANCELED_LONG_PRESS = 0x100,
248-
249- /* Set for AKEY_EVENT_ACTION_UP when this event's key code is still being
250- * tracked from its initial down. That is, somebody requested that tracking
251- * started on the key down and a long press has not caused
252- * the tracking to be canceled. */
253- AKEY_EVENT_FLAG_TRACKING = 0x200,
254-
255- /* Set when a key event has been synthesized to implement default behavior
256- * for an event that the application did not handle.
257- * Fallback key events are generated by unhandled trackball motions
258- * (to emulate a directional keypad) and by certain unhandled key presses
259- * that are declared in the key map (such as special function numeric keypad
260- * keys when numlock is off). */
261- AKEY_EVENT_FLAG_FALLBACK = 0x400
262-};
263-
264-/*
265- * Motion event actions.
266- */
267-
268-/* Bit shift for the action bits holding the pointer index as
269- * defined by AMOTION_EVENT_ACTION_POINTER_INDEX_MASK.
270- */
271-#define AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT 8
272-
273-enum {
274- /* Bit mask of the parts of the action code that are the action itself.
275- */
276- AMOTION_EVENT_ACTION_MASK = 0xff,
277-
278- /* Bits in the action code that represent a pointer index, used with
279- * AMOTION_EVENT_ACTION_POINTER_DOWN and AMOTION_EVENT_ACTION_POINTER_UP. Shifting
280- * down by AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT provides the actual pointer
281- * index where the data for the pointer going up or down can be found.
282- */
283- AMOTION_EVENT_ACTION_POINTER_INDEX_MASK = 0xff00,
284-
285- /* A pressed gesture has started, the motion contains the initial starting location.
286- */
287- AMOTION_EVENT_ACTION_DOWN = 0,
288-
289- /* A pressed gesture has finished, the motion contains the final release location
290- * as well as any intermediate points since the last down or move event.
291- */
292- AMOTION_EVENT_ACTION_UP = 1,
293-
294- /* A change has happened during a press gesture (between AMOTION_EVENT_ACTION_DOWN and
295- * AMOTION_EVENT_ACTION_UP). The motion contains the most recent point, as well as
296- * any intermediate points since the last down or move event.
297- */
298- AMOTION_EVENT_ACTION_MOVE = 2,
299-
300- /* The current gesture has been aborted.
301- * You will not receive any more points in it. You should treat this as
302- * an up event, but not perform any action that you normally would.
303- */
304- AMOTION_EVENT_ACTION_CANCEL = 3,
305-
306- /* A movement has happened outside of the normal bounds of the UI element.
307- * This does not provide a full gesture, but only the initial location of the movement/touch.
308- */
309- AMOTION_EVENT_ACTION_OUTSIDE = 4,
310-
311- /* A non-primary pointer has gone down.
312- * The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed.
313- */
314- AMOTION_EVENT_ACTION_POINTER_DOWN = 5,
315-
316- /* A non-primary pointer has gone up.
317- * The bits in AMOTION_EVENT_ACTION_POINTER_INDEX_MASK indicate which pointer changed.
318- */
319- AMOTION_EVENT_ACTION_POINTER_UP = 6,
320-
321- /* A change happened but the pointer is not down (unlike AMOTION_EVENT_ACTION_MOVE).
322- * The motion contains the most recent point, as well as any intermediate points since
323- * the last hover move event.
324- */
325- AMOTION_EVENT_ACTION_HOVER_MOVE = 7,
326-
327- /* The motion event contains relative vertical and/or horizontal scroll offsets.
328- * Use getAxisValue to retrieve the information from AMOTION_EVENT_AXIS_VSCROLL
329- * and AMOTION_EVENT_AXIS_HSCROLL.
330- * The pointer may or may not be down when this event is dispatched.
331- * This action is always delivered to the winder under the pointer, which
332- * may not be the window currently touched.
333- */
334- AMOTION_EVENT_ACTION_SCROLL = 8,
335-
336- /* The pointer is not down but has entered the boundaries of a window or view.
337- */
338- AMOTION_EVENT_ACTION_HOVER_ENTER = 9,
339-
340- /* The pointer is not down but has exited the boundaries of a window or view.
341- */
342- AMOTION_EVENT_ACTION_HOVER_EXIT = 10
343-};
344-
345-/*
346- * Motion event flags.
347- */
348-enum {
349- /* This flag indicates that the window that received this motion event is partly
350- * or wholly obscured by another visible window above it. This flag is set to true
351- * even if the event did not directly pass through the obscured area.
352- * A security sensitive application can check this flag to identify situations in which
353- * a malicious application may have covered up part of its content for the purpose
354- * of misleading the user or hijacking touches. An appropriate response might be
355- * to drop the suspect touches or to take additional precautions to confirm the user's
356- * actual intent.
357- */
358- AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED = 0x1
359-};
360-
361-/*
362- * Motion event edge touch flags.
363- */
364-enum {
365- /* No edges intersected */
366- AMOTION_EVENT_EDGE_FLAG_NONE = 0,
367-
368- /* Flag indicating the motion event intersected the top edge of the screen. */
369- AMOTION_EVENT_EDGE_FLAG_TOP = 0x01,
370-
371- /* Flag indicating the motion event intersected the bottom edge of the screen. */
372- AMOTION_EVENT_EDGE_FLAG_BOTTOM = 0x02,
373-
374- /* Flag indicating the motion event intersected the left edge of the screen. */
375- AMOTION_EVENT_EDGE_FLAG_LEFT = 0x04,
376-
377- /* Flag indicating the motion event intersected the right edge of the screen. */
378- AMOTION_EVENT_EDGE_FLAG_RIGHT = 0x08
379-};
380-
381-/*
382- * Constants that identify each individual axis of a motion event.
383- * Refer to the documentation on the MotionEvent class for descriptions of each axis.
384- */
385-enum {
386- AMOTION_EVENT_AXIS_X = 0,
387- AMOTION_EVENT_AXIS_Y = 1,
388- AMOTION_EVENT_AXIS_PRESSURE = 2,
389- AMOTION_EVENT_AXIS_SIZE = 3,
390- AMOTION_EVENT_AXIS_TOUCH_MAJOR = 4,
391- AMOTION_EVENT_AXIS_TOUCH_MINOR = 5,
392- AMOTION_EVENT_AXIS_TOOL_MAJOR = 6,
393- AMOTION_EVENT_AXIS_TOOL_MINOR = 7,
394- AMOTION_EVENT_AXIS_ORIENTATION = 8,
395- AMOTION_EVENT_AXIS_VSCROLL = 9,
396- AMOTION_EVENT_AXIS_HSCROLL = 10,
397- AMOTION_EVENT_AXIS_Z = 11,
398- AMOTION_EVENT_AXIS_RX = 12,
399- AMOTION_EVENT_AXIS_RY = 13,
400- AMOTION_EVENT_AXIS_RZ = 14,
401- AMOTION_EVENT_AXIS_HAT_X = 15,
402- AMOTION_EVENT_AXIS_HAT_Y = 16,
403- AMOTION_EVENT_AXIS_LTRIGGER = 17,
404- AMOTION_EVENT_AXIS_RTRIGGER = 18,
405- AMOTION_EVENT_AXIS_THROTTLE = 19,
406- AMOTION_EVENT_AXIS_RUDDER = 20,
407- AMOTION_EVENT_AXIS_WHEEL = 21,
408- AMOTION_EVENT_AXIS_GAS = 22,
409- AMOTION_EVENT_AXIS_BRAKE = 23,
410- AMOTION_EVENT_AXIS_DISTANCE = 24,
411- AMOTION_EVENT_AXIS_TILT = 25,
412- AMOTION_EVENT_AXIS_GENERIC_1 = 32,
413- AMOTION_EVENT_AXIS_GENERIC_2 = 33,
414- AMOTION_EVENT_AXIS_GENERIC_3 = 34,
415- AMOTION_EVENT_AXIS_GENERIC_4 = 35,
416- AMOTION_EVENT_AXIS_GENERIC_5 = 36,
417- AMOTION_EVENT_AXIS_GENERIC_6 = 37,
418- AMOTION_EVENT_AXIS_GENERIC_7 = 38,
419- AMOTION_EVENT_AXIS_GENERIC_8 = 39,
420- AMOTION_EVENT_AXIS_GENERIC_9 = 40,
421- AMOTION_EVENT_AXIS_GENERIC_10 = 41,
422- AMOTION_EVENT_AXIS_GENERIC_11 = 42,
423- AMOTION_EVENT_AXIS_GENERIC_12 = 43,
424- AMOTION_EVENT_AXIS_GENERIC_13 = 44,
425- AMOTION_EVENT_AXIS_GENERIC_14 = 45,
426- AMOTION_EVENT_AXIS_GENERIC_15 = 46,
427- AMOTION_EVENT_AXIS_GENERIC_16 = 47
428-
429- // NOTE: If you add a new axis here you must also add it to several other files.
430- // Refer to frameworks/base/core/java/android/view/MotionEvent.java for the full list.
431-};
432-
433-/*
434- * Constants that identify buttons that are associated with motion events.
435- * Refer to the documentation on the MotionEvent class for descriptions of each button.
436- */
437-enum {
438- AMOTION_EVENT_BUTTON_PRIMARY = 1 << 0,
439- AMOTION_EVENT_BUTTON_SECONDARY = 1 << 1,
440- AMOTION_EVENT_BUTTON_TERTIARY = 1 << 2,
441- AMOTION_EVENT_BUTTON_BACK = 1 << 3,
442- AMOTION_EVENT_BUTTON_FORWARD = 1 << 4
443-};
444-
445-/*
446- * Constants that identify tool types.
447- * Refer to the documentation on the MotionEvent class for descriptions of each tool type.
448- */
449-enum {
450- AMOTION_EVENT_TOOL_TYPE_UNKNOWN = 0,
451- AMOTION_EVENT_TOOL_TYPE_FINGER = 1,
452- AMOTION_EVENT_TOOL_TYPE_STYLUS = 2,
453- AMOTION_EVENT_TOOL_TYPE_MOUSE = 3,
454- AMOTION_EVENT_TOOL_TYPE_ERASER = 4
455-};
456-
457-/*
458- * Input sources.
459- *
460- * Refer to the documentation on android.view.InputDevice for more details about input sources
461- * and their correct interpretation.
462- */
463-enum {
464- AINPUT_SOURCE_CLASS_MASK = 0x000000ff,
465-
466- AINPUT_SOURCE_CLASS_BUTTON = 0x00000001,
467- AINPUT_SOURCE_CLASS_POINTER = 0x00000002,
468- AINPUT_SOURCE_CLASS_NAVIGATION = 0x00000004,
469- AINPUT_SOURCE_CLASS_POSITION = 0x00000008,
470- AINPUT_SOURCE_CLASS_JOYSTICK = 0x00000010
471-};
472-
473-enum {
474- AINPUT_SOURCE_UNKNOWN = 0x00000000,
475-
476- AINPUT_SOURCE_KEYBOARD = 0x00000100 | AINPUT_SOURCE_CLASS_BUTTON,
477- AINPUT_SOURCE_DPAD = 0x00000200 | AINPUT_SOURCE_CLASS_BUTTON,
478- AINPUT_SOURCE_GAMEPAD = 0x00000400 | AINPUT_SOURCE_CLASS_BUTTON,
479- AINPUT_SOURCE_TOUCHSCREEN = 0x00001000 | AINPUT_SOURCE_CLASS_POINTER,
480- AINPUT_SOURCE_MOUSE = 0x00002000 | AINPUT_SOURCE_CLASS_POINTER,
481- AINPUT_SOURCE_STYLUS = 0x00004000 | AINPUT_SOURCE_CLASS_POINTER,
482- AINPUT_SOURCE_TRACKBALL = 0x00010000 | AINPUT_SOURCE_CLASS_NAVIGATION,
483- AINPUT_SOURCE_TOUCHPAD = 0x00100000 | AINPUT_SOURCE_CLASS_POSITION,
484- AINPUT_SOURCE_JOYSTICK = 0x01000000 | AINPUT_SOURCE_CLASS_JOYSTICK,
485-
486- AINPUT_SOURCE_ANY = 0xffffff00
487-};
488-
489-/*
490- * Keyboard types.
491- *
492- * Refer to the documentation on android.view.InputDevice for more details.
493- */
494-enum {
495- AINPUT_KEYBOARD_TYPE_NONE = 0,
496- AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC = 1,
497- AINPUT_KEYBOARD_TYPE_ALPHABETIC = 2
498-};
499-
500-#ifdef __cplusplus
501-}
502-#endif
503-
504-#endif // _ANDROID_INPUT_H
505
506=== removed file '3rd_party/android-deps/android/keycodes.h'
507--- 3rd_party/android-deps/android/keycodes.h 2013-03-13 04:54:15 +0000
508+++ 3rd_party/android-deps/android/keycodes.h 1970-01-01 00:00:00 +0000
509@@ -1,275 +0,0 @@
510-/*
511- * Copyright (C) 2010 The Android Open Source Project
512- *
513- * Licensed under the Apache License, Version 2.0 (the "License");
514- * you may not use this file except in compliance with the License.
515- * You may obtain a copy of the License at
516- *
517- * http://www.apache.org/licenses/LICENSE-2.0
518- *
519- * Unless required by applicable law or agreed to in writing, software
520- * distributed under the License is distributed on an "AS IS" BASIS,
521- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
522- * See the License for the specific language governing permissions and
523- * limitations under the License.
524- */
525-
526-#ifndef _ANDROID_KEYCODES_H
527-#define _ANDROID_KEYCODES_H
528-
529-/******************************************************************
530- *
531- * IMPORTANT NOTICE:
532- *
533- * This file is part of Android's set of stable system headers
534- * exposed by the Android NDK (Native Development Kit).
535- *
536- * Third-party source AND binary code relies on the definitions
537- * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
538- *
539- * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
540- * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
541- * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
542- * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
543- */
544-
545-#include <sys/types.h>
546-
547-#ifdef __cplusplus
548-extern "C" {
549-#endif
550-
551-/*
552- * Key codes.
553- */
554-enum {
555- AKEYCODE_UNKNOWN = 0,
556- AKEYCODE_SOFT_LEFT = 1,
557- AKEYCODE_SOFT_RIGHT = 2,
558- AKEYCODE_HOME = 3,
559- AKEYCODE_BACK = 4,
560- AKEYCODE_CALL = 5,
561- AKEYCODE_ENDCALL = 6,
562- AKEYCODE_0 = 7,
563- AKEYCODE_1 = 8,
564- AKEYCODE_2 = 9,
565- AKEYCODE_3 = 10,
566- AKEYCODE_4 = 11,
567- AKEYCODE_5 = 12,
568- AKEYCODE_6 = 13,
569- AKEYCODE_7 = 14,
570- AKEYCODE_8 = 15,
571- AKEYCODE_9 = 16,
572- AKEYCODE_STAR = 17,
573- AKEYCODE_POUND = 18,
574- AKEYCODE_DPAD_UP = 19,
575- AKEYCODE_DPAD_DOWN = 20,
576- AKEYCODE_DPAD_LEFT = 21,
577- AKEYCODE_DPAD_RIGHT = 22,
578- AKEYCODE_DPAD_CENTER = 23,
579- AKEYCODE_VOLUME_UP = 24,
580- AKEYCODE_VOLUME_DOWN = 25,
581- AKEYCODE_POWER = 26,
582- AKEYCODE_CAMERA = 27,
583- AKEYCODE_CLEAR = 28,
584- AKEYCODE_A = 29,
585- AKEYCODE_B = 30,
586- AKEYCODE_C = 31,
587- AKEYCODE_D = 32,
588- AKEYCODE_E = 33,
589- AKEYCODE_F = 34,
590- AKEYCODE_G = 35,
591- AKEYCODE_H = 36,
592- AKEYCODE_I = 37,
593- AKEYCODE_J = 38,
594- AKEYCODE_K = 39,
595- AKEYCODE_L = 40,
596- AKEYCODE_M = 41,
597- AKEYCODE_N = 42,
598- AKEYCODE_O = 43,
599- AKEYCODE_P = 44,
600- AKEYCODE_Q = 45,
601- AKEYCODE_R = 46,
602- AKEYCODE_S = 47,
603- AKEYCODE_T = 48,
604- AKEYCODE_U = 49,
605- AKEYCODE_V = 50,
606- AKEYCODE_W = 51,
607- AKEYCODE_X = 52,
608- AKEYCODE_Y = 53,
609- AKEYCODE_Z = 54,
610- AKEYCODE_COMMA = 55,
611- AKEYCODE_PERIOD = 56,
612- AKEYCODE_ALT_LEFT = 57,
613- AKEYCODE_ALT_RIGHT = 58,
614- AKEYCODE_SHIFT_LEFT = 59,
615- AKEYCODE_SHIFT_RIGHT = 60,
616- AKEYCODE_TAB = 61,
617- AKEYCODE_SPACE = 62,
618- AKEYCODE_SYM = 63,
619- AKEYCODE_EXPLORER = 64,
620- AKEYCODE_ENVELOPE = 65,
621- AKEYCODE_ENTER = 66,
622- AKEYCODE_DEL = 67,
623- AKEYCODE_GRAVE = 68,
624- AKEYCODE_MINUS = 69,
625- AKEYCODE_EQUALS = 70,
626- AKEYCODE_LEFT_BRACKET = 71,
627- AKEYCODE_RIGHT_BRACKET = 72,
628- AKEYCODE_BACKSLASH = 73,
629- AKEYCODE_SEMICOLON = 74,
630- AKEYCODE_APOSTROPHE = 75,
631- AKEYCODE_SLASH = 76,
632- AKEYCODE_AT = 77,
633- AKEYCODE_NUM = 78,
634- AKEYCODE_HEADSETHOOK = 79,
635- AKEYCODE_FOCUS = 80, // *Camera* focus
636- AKEYCODE_PLUS = 81,
637- AKEYCODE_MENU = 82,
638- AKEYCODE_NOTIFICATION = 83,
639- AKEYCODE_SEARCH = 84,
640- AKEYCODE_MEDIA_PLAY_PAUSE= 85,
641- AKEYCODE_MEDIA_STOP = 86,
642- AKEYCODE_MEDIA_NEXT = 87,
643- AKEYCODE_MEDIA_PREVIOUS = 88,
644- AKEYCODE_MEDIA_REWIND = 89,
645- AKEYCODE_MEDIA_FAST_FORWARD = 90,
646- AKEYCODE_MUTE = 91,
647- AKEYCODE_PAGE_UP = 92,
648- AKEYCODE_PAGE_DOWN = 93,
649- AKEYCODE_PICTSYMBOLS = 94,
650- AKEYCODE_SWITCH_CHARSET = 95,
651- AKEYCODE_BUTTON_A = 96,
652- AKEYCODE_BUTTON_B = 97,
653- AKEYCODE_BUTTON_C = 98,
654- AKEYCODE_BUTTON_X = 99,
655- AKEYCODE_BUTTON_Y = 100,
656- AKEYCODE_BUTTON_Z = 101,
657- AKEYCODE_BUTTON_L1 = 102,
658- AKEYCODE_BUTTON_R1 = 103,
659- AKEYCODE_BUTTON_L2 = 104,
660- AKEYCODE_BUTTON_R2 = 105,
661- AKEYCODE_BUTTON_THUMBL = 106,
662- AKEYCODE_BUTTON_THUMBR = 107,
663- AKEYCODE_BUTTON_START = 108,
664- AKEYCODE_BUTTON_SELECT = 109,
665- AKEYCODE_BUTTON_MODE = 110,
666- AKEYCODE_ESCAPE = 111,
667- AKEYCODE_FORWARD_DEL = 112,
668- AKEYCODE_CTRL_LEFT = 113,
669- AKEYCODE_CTRL_RIGHT = 114,
670- AKEYCODE_CAPS_LOCK = 115,
671- AKEYCODE_SCROLL_LOCK = 116,
672- AKEYCODE_META_LEFT = 117,
673- AKEYCODE_META_RIGHT = 118,
674- AKEYCODE_FUNCTION = 119,
675- AKEYCODE_SYSRQ = 120,
676- AKEYCODE_BREAK = 121,
677- AKEYCODE_MOVE_HOME = 122,
678- AKEYCODE_MOVE_END = 123,
679- AKEYCODE_INSERT = 124,
680- AKEYCODE_FORWARD = 125,
681- AKEYCODE_MEDIA_PLAY = 126,
682- AKEYCODE_MEDIA_PAUSE = 127,
683- AKEYCODE_MEDIA_CLOSE = 128,
684- AKEYCODE_MEDIA_EJECT = 129,
685- AKEYCODE_MEDIA_RECORD = 130,
686- AKEYCODE_F1 = 131,
687- AKEYCODE_F2 = 132,
688- AKEYCODE_F3 = 133,
689- AKEYCODE_F4 = 134,
690- AKEYCODE_F5 = 135,
691- AKEYCODE_F6 = 136,
692- AKEYCODE_F7 = 137,
693- AKEYCODE_F8 = 138,
694- AKEYCODE_F9 = 139,
695- AKEYCODE_F10 = 140,
696- AKEYCODE_F11 = 141,
697- AKEYCODE_F12 = 142,
698- AKEYCODE_NUM_LOCK = 143,
699- AKEYCODE_NUMPAD_0 = 144,
700- AKEYCODE_NUMPAD_1 = 145,
701- AKEYCODE_NUMPAD_2 = 146,
702- AKEYCODE_NUMPAD_3 = 147,
703- AKEYCODE_NUMPAD_4 = 148,
704- AKEYCODE_NUMPAD_5 = 149,
705- AKEYCODE_NUMPAD_6 = 150,
706- AKEYCODE_NUMPAD_7 = 151,
707- AKEYCODE_NUMPAD_8 = 152,
708- AKEYCODE_NUMPAD_9 = 153,
709- AKEYCODE_NUMPAD_DIVIDE = 154,
710- AKEYCODE_NUMPAD_MULTIPLY = 155,
711- AKEYCODE_NUMPAD_SUBTRACT = 156,
712- AKEYCODE_NUMPAD_ADD = 157,
713- AKEYCODE_NUMPAD_DOT = 158,
714- AKEYCODE_NUMPAD_COMMA = 159,
715- AKEYCODE_NUMPAD_ENTER = 160,
716- AKEYCODE_NUMPAD_EQUALS = 161,
717- AKEYCODE_NUMPAD_LEFT_PAREN = 162,
718- AKEYCODE_NUMPAD_RIGHT_PAREN = 163,
719- AKEYCODE_VOLUME_MUTE = 164,
720- AKEYCODE_INFO = 165,
721- AKEYCODE_CHANNEL_UP = 166,
722- AKEYCODE_CHANNEL_DOWN = 167,
723- AKEYCODE_ZOOM_IN = 168,
724- AKEYCODE_ZOOM_OUT = 169,
725- AKEYCODE_TV = 170,
726- AKEYCODE_WINDOW = 171,
727- AKEYCODE_GUIDE = 172,
728- AKEYCODE_DVR = 173,
729- AKEYCODE_BOOKMARK = 174,
730- AKEYCODE_CAPTIONS = 175,
731- AKEYCODE_SETTINGS = 176,
732- AKEYCODE_TV_POWER = 177,
733- AKEYCODE_TV_INPUT = 178,
734- AKEYCODE_STB_POWER = 179,
735- AKEYCODE_STB_INPUT = 180,
736- AKEYCODE_AVR_POWER = 181,
737- AKEYCODE_AVR_INPUT = 182,
738- AKEYCODE_PROG_RED = 183,
739- AKEYCODE_PROG_GREEN = 184,
740- AKEYCODE_PROG_YELLOW = 185,
741- AKEYCODE_PROG_BLUE = 186,
742- AKEYCODE_APP_SWITCH = 187,
743- AKEYCODE_BUTTON_1 = 188,
744- AKEYCODE_BUTTON_2 = 189,
745- AKEYCODE_BUTTON_3 = 190,
746- AKEYCODE_BUTTON_4 = 191,
747- AKEYCODE_BUTTON_5 = 192,
748- AKEYCODE_BUTTON_6 = 193,
749- AKEYCODE_BUTTON_7 = 194,
750- AKEYCODE_BUTTON_8 = 195,
751- AKEYCODE_BUTTON_9 = 196,
752- AKEYCODE_BUTTON_10 = 197,
753- AKEYCODE_BUTTON_11 = 198,
754- AKEYCODE_BUTTON_12 = 199,
755- AKEYCODE_BUTTON_13 = 200,
756- AKEYCODE_BUTTON_14 = 201,
757- AKEYCODE_BUTTON_15 = 202,
758- AKEYCODE_BUTTON_16 = 203,
759- AKEYCODE_LANGUAGE_SWITCH = 204,
760- AKEYCODE_MANNER_MODE = 205,
761- AKEYCODE_3D_MODE = 206,
762- AKEYCODE_CONTACTS = 207,
763- AKEYCODE_CALENDAR = 208,
764- AKEYCODE_MUSIC = 209,
765- AKEYCODE_CALCULATOR = 210,
766- AKEYCODE_ZENKAKU_HANKAKU = 211,
767- AKEYCODE_EISU = 212,
768- AKEYCODE_MUHENKAN = 213,
769- AKEYCODE_HENKAN = 214,
770- AKEYCODE_KATAKANA_HIRAGANA = 215,
771- AKEYCODE_YEN = 216,
772- AKEYCODE_RO = 217,
773- AKEYCODE_KANA = 218,
774- AKEYCODE_ASSIST = 219
775-
776- // NOTE: If you add a new keycode here you must also add it to several other files.
777- // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
778-};
779-
780-#ifdef __cplusplus
781-}
782-#endif
783-
784-#endif // _ANDROID_KEYCODES_H
785
786=== removed file '3rd_party/android-deps/android/log.h'
787--- 3rd_party/android-deps/android/log.h 2016-01-29 08:18:22 +0000
788+++ 3rd_party/android-deps/android/log.h 1970-01-01 00:00:00 +0000
789@@ -1,123 +0,0 @@
790-/*
791- * Copyright (C) 2009 The Android Open Source Project
792- *
793- * Licensed under the Apache License, Version 2.0 (the "License");
794- * you may not use this file except in compliance with the License.
795- * You may obtain a copy of the License at
796- *
797- * http://www.apache.org/licenses/LICENSE-2.0
798- *
799- * Unless required by applicable law or agreed to in writing, software
800- * distributed under the License is distributed on an "AS IS" BASIS,
801- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
802- * See the License for the specific language governing permissions and
803- * limitations under the License.
804- */
805-
806-#ifndef _ANDROID_LOG_H
807-#define _ANDROID_LOG_H
808-
809-/******************************************************************
810- *
811- * IMPORTANT NOTICE:
812- *
813- * This file is part of Android's set of stable system headers
814- * exposed by the Android NDK (Native Development Kit) since
815- * platform release 1.5
816- *
817- * Third-party source AND binary code relies on the definitions
818- * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
819- *
820- * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
821- * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
822- * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
823- * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
824- */
825-
826-/*
827- * Support routines to send messages to the Android in-kernel log buffer,
828- * which can later be accessed through the 'logcat' utility.
829- *
830- * Each log message must have
831- * - a priority
832- * - a log tag
833- * - some text
834- *
835- * The tag normally corresponds to the component that emits the log message,
836- * and should be reasonably small.
837- *
838- * Log message text may be truncated to less than an implementation-specific
839- * limit (e.g. 1023 characters max).
840- *
841- * Note that a newline character ("\n") will be appended automatically to your
842- * log message, if not already there. It is not possible to send several messages
843- * and have them appear on a single line in logcat.
844- *
845- * PLEASE USE LOGS WITH MODERATION:
846- *
847- * - Sending log messages eats CPU and slow down your application and the
848- * system.
849- *
850- * - The circular log buffer is pretty small (<64KB), sending many messages
851- * might push off other important log messages from the rest of the system.
852- *
853- * - In release builds, only send log messages to account for exceptional
854- * conditions.
855- *
856- * NOTE: These functions MUST be implemented by /system/lib/liblog.so
857- */
858-
859-#include <stdarg.h>
860-
861-#ifdef __cplusplus
862-extern "C" {
863-#endif
864-
865-/*
866- * Android log priority values, in ascending priority order.
867- */
868-typedef enum android_LogPriority {
869- ANDROID_LOG_UNKNOWN = 0,
870- ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
871- ANDROID_LOG_VERBOSE,
872- ANDROID_LOG_DEBUG,
873- ANDROID_LOG_INFO,
874- ANDROID_LOG_WARN,
875- ANDROID_LOG_ERROR,
876- ANDROID_LOG_FATAL,
877- ANDROID_LOG_SILENT /* only for SetMinPriority(); must be last */
878-} android_LogPriority;
879-
880-/*
881- * Send a formatted string to the log, used like printf(fmt,...)
882- */
883-int __android_log_print(int prio, const char *tag, const char *fmt, ...)
884-#if defined(__GNUC__)
885- __attribute__ ((format(printf, 3, 4)))
886-#endif
887- ;
888-
889-/*
890- * A variant of __android_log_print() that takes a va_list to list
891- * additional parameters.
892- */
893-int __android_log_vprint(int prio, const char *tag,
894- const char *fmt, va_list ap);
895-
896-/*
897- * Log an assertion failure and SIGTRAP the process to have a chance
898- * to inspect it, if a debugger is attached. This uses the FATAL priority.
899- */
900-void __android_log_assert(const char *cond, const char *tag,
901- const char *fmt, ...)
902-#if defined(__GNUC__)
903- __attribute__ ((noreturn))
904- __attribute__ ((format(printf, 3, 4)))
905-#endif
906- ;
907-
908-#ifdef __cplusplus
909-}
910-#endif
911-
912-#endif /* _ANDROID_LOG_H */
913
914=== removed file '3rd_party/android-deps/android/native_window.h'
915--- 3rd_party/android-deps/android/native_window.h 2015-09-24 04:18:40 +0000
916+++ 3rd_party/android-deps/android/native_window.h 1970-01-01 00:00:00 +0000
917@@ -1,126 +0,0 @@
918-/*
919- * Copyright (C) 2010 The Android Open Source Project
920- *
921- * Licensed under the Apache License, Version 2.0 (the "License");
922- * you may not use this file except in compliance with the License.
923- * You may obtain a copy of the License at
924- *
925- * http://www.apache.org/licenses/LICENSE-2.0
926- *
927- * Unless required by applicable law or agreed to in writing, software
928- * distributed under the License is distributed on an "AS IS" BASIS,
929- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
930- * See the License for the specific language governing permissions and
931- * limitations under the License.
932- */
933-
934-#ifndef ANDROID_NATIVE_WINDOW_H
935-#define ANDROID_NATIVE_WINDOW_H
936-
937-#include <android/rect.h>
938-
939-#ifdef __cplusplus
940-extern "C" {
941-#endif
942-
943-/*
944- * Pixel formats that a window can use.
945- */
946-enum {
947- WINDOW_FORMAT_RGBA_8888 = 1,
948- WINDOW_FORMAT_RGBX_8888 = 2,
949- WINDOW_FORMAT_RGB_565 = 4,
950-};
951-
952-struct ANativeWindow;
953-typedef struct ANativeWindow ANativeWindow;
954-
955-typedef struct ANativeWindow_Buffer {
956- // The number of pixels that are show horizontally.
957- int32_t width;
958-
959- // The number of pixels that are shown vertically.
960- int32_t height;
961-
962- // The number of *pixels* that a line in the buffer takes in
963- // memory. This may be >= width.
964- int32_t stride;
965-
966- // The format of the buffer. One of WINDOW_FORMAT_*
967- int32_t format;
968-
969- // The actual bits.
970- void* bits;
971-
972- // Do not touch.
973- uint32_t reserved[6];
974-} ANativeWindow_Buffer;
975-
976-/**
977- * Acquire a reference on the given ANativeWindow object. This prevents the object
978- * from being deleted until the reference is removed.
979- */
980-void ANativeWindow_acquire(ANativeWindow* window);
981-
982-/**
983- * Remove a reference that was previously acquired with ANativeWindow_acquire().
984- */
985-void ANativeWindow_release(ANativeWindow* window);
986-
987-/*
988- * Return the current width in pixels of the window surface. Returns a
989- * negative value on error.
990- */
991-int32_t ANativeWindow_getWidth(ANativeWindow* window);
992-
993-/*
994- * Return the current height in pixels of the window surface. Returns a
995- * negative value on error.
996- */
997-int32_t ANativeWindow_getHeight(ANativeWindow* window);
998-
999-/*
1000- * Return the current pixel format of the window surface. Returns a
1001- * negative value on error.
1002- */
1003-int32_t ANativeWindow_getFormat(ANativeWindow* window);
1004-
1005-/*
1006- * Change the format and size of the window buffers.
1007- *
1008- * The width and height control the number of pixels in the buffers, not the
1009- * dimensions of the window on screen. If these are different than the
1010- * window's physical size, then it buffer will be scaled to match that size
1011- * when compositing it to the screen.
1012- *
1013- * For all of these parameters, if 0 is supplied then the window's base
1014- * value will come back in force.
1015- *
1016- * width and height must be either both zero or both non-zero.
1017- *
1018- */
1019-int32_t ANativeWindow_setBuffersGeometry(ANativeWindow* window,
1020- int32_t width, int32_t height, int32_t format);
1021-
1022-/**
1023- * Lock the window's next drawing surface for writing.
1024- * inOutDirtyBounds is used as an in/out parameter, upon entering the
1025- * function, it contains the dirty region, that is, the region the caller
1026- * intends to redraw. When the function returns, inOutDirtyBounds is updated
1027- * with the actual area the caller needs to redraw -- this region is often
1028- * extended by ANativeWindow_lock.
1029- */
1030-int32_t ANativeWindow_lock(ANativeWindow* window, ANativeWindow_Buffer* outBuffer,
1031- ARect* inOutDirtyBounds);
1032-
1033-/**
1034- * Unlock the window's drawing surface after previously locking it,
1035- * posting the new buffer to the display.
1036- */
1037-int32_t ANativeWindow_unlockAndPost(ANativeWindow* window);
1038-
1039-#ifdef __cplusplus
1040-};
1041-#endif
1042-
1043-#endif // ANDROID_NATIVE_WINDOW_H
1044
1045=== removed file '3rd_party/android-deps/android/rect.h'
1046--- 3rd_party/android-deps/android/rect.h 2015-09-24 04:18:40 +0000
1047+++ 3rd_party/android-deps/android/rect.h 1970-01-01 00:00:00 +0000
1048@@ -1,41 +0,0 @@
1049-/*
1050- * Copyright (C) 2010 The Android Open Source Project
1051- *
1052- * Licensed under the Apache License, Version 2.0 (the "License");
1053- * you may not use this file except in compliance with the License.
1054- * You may obtain a copy of the License at
1055- *
1056- * http://www.apache.org/licenses/LICENSE-2.0
1057- *
1058- * Unless required by applicable law or agreed to in writing, software
1059- * distributed under the License is distributed on an "AS IS" BASIS,
1060- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1061- * See the License for the specific language governing permissions and
1062- * limitations under the License.
1063- */
1064-
1065-
1066-#ifndef ANDROID_RECT_H
1067-#define ANDROID_RECT_H
1068-
1069-#include <stdint.h>
1070-
1071-#ifdef __cplusplus
1072-extern "C" {
1073-#endif
1074-
1075-typedef struct ARect {
1076-#ifdef __cplusplus
1077- typedef int32_t value_type;
1078-#endif
1079- int32_t left;
1080- int32_t top;
1081- int32_t right;
1082- int32_t bottom;
1083-} ARect;
1084-
1085-#ifdef __cplusplus
1086-};
1087-#endif
1088-
1089-#endif // ANDROID_RECT_H
1090
1091=== removed directory '3rd_party/android-deps/cutils'
1092=== removed file '3rd_party/android-deps/cutils/log.h'
1093--- 3rd_party/android-deps/cutils/log.h 2016-01-29 08:18:22 +0000
1094+++ 3rd_party/android-deps/cutils/log.h 1970-01-01 00:00:00 +0000
1095@@ -1,479 +0,0 @@
1096-/*
1097- * Copyright (C) 2005 The Android Open Source Project
1098- *
1099- * Licensed under the Apache License, Version 2.0 (the "License");
1100- * you may not use this file except in compliance with the License.
1101- * You may obtain a copy of the License at
1102- *
1103- * http://www.apache.org/licenses/LICENSE-2.0
1104- *
1105- * Unless required by applicable law or agreed to in writing, software
1106- * distributed under the License is distributed on an "AS IS" BASIS,
1107- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1108- * See the License for the specific language governing permissions and
1109- * limitations under the License.
1110- */
1111-
1112-//
1113-// C/C++ logging functions. See the logging documentation for API details.
1114-//
1115-// We'd like these to be available from C code (in case we import some from
1116-// somewhere), so this has a C interface.
1117-//
1118-// The output will be correct when the log file is shared between multiple
1119-// threads and/or multiple processes so long as the operating system
1120-// supports O_APPEND. These calls have mutex-protected data structures
1121-// and so are NOT reentrant. Do not use LOG in a signal handler.
1122-//
1123-#ifndef _LIBS_CUTILS_LOG_H
1124-#define _LIBS_CUTILS_LOG_H
1125-
1126-#include <stdio.h>
1127-#include <time.h>
1128-#include <sys/types.h>
1129-#include <unistd.h>
1130-#ifdef HAVE_PTHREADS
1131-#include <pthread.h>
1132-#endif
1133-#include <stdarg.h>
1134-
1135-#include <sys/uio.h>
1136-#include <cutils/logd.h>
1137-
1138-#ifdef __cplusplus
1139-extern "C" {
1140-#endif
1141-
1142-// ---------------------------------------------------------------------
1143-
1144-/*
1145- * Normally we strip ALOGV (VERBOSE messages) from release builds.
1146- * You can modify this (for example with "#define LOG_NDEBUG 0"
1147- * at the top of your source file) to change that behavior.
1148- */
1149-#ifndef LOG_NDEBUG
1150-#ifdef NDEBUG
1151-#define LOG_NDEBUG 1
1152-#else
1153-#define LOG_NDEBUG 0
1154-#endif
1155-#endif
1156-
1157-/*
1158- * This is the local tag used for the following simplified
1159- * logging macros. You can change this preprocessor definition
1160- * before using the other macros to change the tag.
1161- */
1162-#ifndef LOG_TAG
1163-#define LOG_TAG NULL
1164-#endif
1165-
1166-// ---------------------------------------------------------------------
1167-
1168-/*
1169- * Simplified macro to send a verbose log message using the current LOG_TAG.
1170- */
1171-#ifndef ALOGV
1172-#if LOG_NDEBUG
1173-#define ALOGV(...) ((void)0)
1174-#else
1175-#define ALOGV(...) ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
1176-#endif
1177-#endif
1178-
1179-#define CONDITION(cond) (__builtin_expect((cond)!=0, 0))
1180-
1181-#ifndef ALOGV_IF
1182-#if LOG_NDEBUG
1183-#define ALOGV_IF(cond, ...) ((void)0)
1184-#else
1185-#define ALOGV_IF(cond, ...) \
1186- ( (CONDITION(cond)) \
1187- ? ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \
1188- : (void)0 )
1189-#endif
1190-#endif
1191-
1192-/*
1193- * Simplified macro to send a debug log message using the current LOG_TAG.
1194- */
1195-#ifndef ALOGD
1196-#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))
1197-#endif
1198-
1199-#ifndef ALOGD_IF
1200-#define ALOGD_IF(cond, ...) \
1201- ( (CONDITION(cond)) \
1202- ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
1203- : (void)0 )
1204-#endif
1205-
1206-/*
1207- * Simplified macro to send an info log message using the current LOG_TAG.
1208- */
1209-#ifndef ALOGI
1210-#define ALOGI(...) ((void)ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__))
1211-#endif
1212-
1213-#ifndef ALOGI_IF
1214-#define ALOGI_IF(cond, ...) \
1215- ( (CONDITION(cond)) \
1216- ? ((void)ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__)) \
1217- : (void)0 )
1218-#endif
1219-
1220-/*
1221- * Simplified macro to send a warning log message using the current LOG_TAG.
1222- */
1223-#ifndef ALOGW
1224-#define ALOGW(...) ((void)ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__))
1225-#endif
1226-
1227-#ifndef ALOGW_IF
1228-#define ALOGW_IF(cond, ...) \
1229- ( (CONDITION(cond)) \
1230- ? ((void)ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__)) \
1231- : (void)0 )
1232-#endif
1233-
1234-/*
1235- * Simplified macro to send an error log message using the current LOG_TAG.
1236- */
1237-#ifndef ALOGE
1238-#define ALOGE(...) ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__))
1239-#endif
1240-
1241-#ifndef ALOGE_IF
1242-#define ALOGE_IF(cond, ...) \
1243- ( (CONDITION(cond)) \
1244- ? ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__)) \
1245- : (void)0 )
1246-#endif
1247-
1248-// ---------------------------------------------------------------------
1249-
1250-/*
1251- * Conditional based on whether the current LOG_TAG is enabled at
1252- * verbose priority.
1253- */
1254-#ifndef IF_ALOGV
1255-#if LOG_NDEBUG
1256-#define IF_ALOGV() if (false)
1257-#else
1258-#define IF_ALOGV() IF_ALOG(LOG_VERBOSE, LOG_TAG)
1259-#endif
1260-#endif
1261-
1262-/*
1263- * Conditional based on whether the current LOG_TAG is enabled at
1264- * debug priority.
1265- */
1266-#ifndef IF_ALOGD
1267-#define IF_ALOGD() IF_ALOG(LOG_DEBUG, LOG_TAG)
1268-#endif
1269-
1270-/*
1271- * Conditional based on whether the current LOG_TAG is enabled at
1272- * info priority.
1273- */
1274-#ifndef IF_ALOGI
1275-#define IF_ALOGI() IF_ALOG(LOG_INFO, LOG_TAG)
1276-#endif
1277-
1278-/*
1279- * Conditional based on whether the current LOG_TAG is enabled at
1280- * warn priority.
1281- */
1282-#ifndef IF_ALOGW
1283-#define IF_ALOGW() IF_ALOG(LOG_WARN, LOG_TAG)
1284-#endif
1285-
1286-/*
1287- * Conditional based on whether the current LOG_TAG is enabled at
1288- * error priority.
1289- */
1290-#ifndef IF_ALOGE
1291-#define IF_ALOGE() IF_ALOG(LOG_ERROR, LOG_TAG)
1292-#endif
1293-
1294-
1295-// ---------------------------------------------------------------------
1296-
1297-/*
1298- * Simplified macro to send a verbose system log message using the current LOG_TAG.
1299- */
1300-#ifndef SLOGV
1301-#if LOG_NDEBUG
1302-#define SLOGV(...) ((void)0)
1303-#else
1304-#define SLOGV(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
1305-#endif
1306-#endif
1307-
1308-#define CONDITION(cond) (__builtin_expect((cond)!=0, 0))
1309-
1310-#ifndef SLOGV_IF
1311-#if LOG_NDEBUG
1312-#define SLOGV_IF(cond, ...) ((void)0)
1313-#else
1314-#define SLOGV_IF(cond, ...) \
1315- ( (CONDITION(cond)) \
1316- ? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) \
1317- : (void)0 )
1318-#endif
1319-#endif
1320-
1321-/*
1322- * Simplified macro to send a debug system log message using the current LOG_TAG.
1323- */
1324-#ifndef SLOGD
1325-#define SLOGD(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__))
1326-#endif
1327-
1328-#ifndef SLOGD_IF
1329-#define SLOGD_IF(cond, ...) \
1330- ( (CONDITION(cond)) \
1331- ? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
1332- : (void)0 )
1333-#endif
1334-
1335-/*
1336- * Simplified macro to send an info system log message using the current LOG_TAG.
1337- */
1338-#ifndef SLOGI
1339-#define SLOGI(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))
1340-#endif
1341-
1342-#ifndef SLOGI_IF
1343-#define SLOGI_IF(cond, ...) \
1344- ( (CONDITION(cond)) \
1345- ? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)) \
1346- : (void)0 )
1347-#endif
1348-
1349-/*
1350- * Simplified macro to send a warning system log message using the current LOG_TAG.
1351- */
1352-#ifndef SLOGW
1353-#define SLOGW(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__))
1354-#endif
1355-
1356-#ifndef SLOGW_IF
1357-#define SLOGW_IF(cond, ...) \
1358- ( (CONDITION(cond)) \
1359- ? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)) \
1360- : (void)0 )
1361-#endif
1362-
1363-/*
1364- * Simplified macro to send an error system log message using the current LOG_TAG.
1365- */
1366-#ifndef SLOGE
1367-#define SLOGE(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))
1368-#endif
1369-
1370-#ifndef SLOGE_IF
1371-#define SLOGE_IF(cond, ...) \
1372- ( (CONDITION(cond)) \
1373- ? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)) \
1374- : (void)0 )
1375-#endif
1376-
1377-
1378-
1379-// ---------------------------------------------------------------------
1380-
1381-/*
1382- * Log a fatal error. If the given condition fails, this stops program
1383- * execution like a normal assertion, but also generating the given message.
1384- * It is NOT stripped from release builds. Note that the condition test
1385- * is -inverted- from the normal assert() semantics.
1386- */
1387-#ifndef LOG_ALWAYS_FATAL_IF
1388-#define LOG_ALWAYS_FATAL_IF(cond, ...) \
1389- ( (CONDITION(cond)) \
1390- ? ((void)android_printAssert(#cond, LOG_TAG, ## __VA_ARGS__)) \
1391- : (void)0 )
1392-#endif
1393-
1394-#ifndef LOG_ALWAYS_FATAL
1395-#define LOG_ALWAYS_FATAL(...) \
1396- ( ((void)android_printAssert(NULL, LOG_TAG, ## __VA_ARGS__)) )
1397-#endif
1398-
1399-/*
1400- * Versions of LOG_ALWAYS_FATAL_IF and LOG_ALWAYS_FATAL that
1401- * are stripped out of release builds.
1402- */
1403-#if LOG_NDEBUG
1404-
1405-#ifndef LOG_FATAL_IF
1406-#define LOG_FATAL_IF(cond, ...) ((void)0)
1407-#endif
1408-#ifndef LOG_FATAL
1409-#define LOG_FATAL(...) ((void)0)
1410-#endif
1411-
1412-#else
1413-
1414-#ifndef LOG_FATAL_IF
1415-#define LOG_FATAL_IF(cond, ...) LOG_ALWAYS_FATAL_IF(cond, ## __VA_ARGS__)
1416-#endif
1417-#ifndef LOG_FATAL
1418-#define LOG_FATAL(...) LOG_ALWAYS_FATAL(__VA_ARGS__)
1419-#endif
1420-
1421-#endif
1422-
1423-/*
1424- * Assertion that generates a log message when the assertion fails.
1425- * Stripped out of release builds. Uses the current LOG_TAG.
1426- */
1427-#ifndef ALOG_ASSERT
1428-#define ALOG_ASSERT(cond, ...) LOG_FATAL_IF(!(cond), ## __VA_ARGS__)
1429-//#define ALOG_ASSERT(cond) LOG_FATAL_IF(!(cond), "Assertion failed: " #cond)
1430-#endif
1431-
1432-// ---------------------------------------------------------------------
1433-
1434-/*
1435- * Basic log message macro.
1436- *
1437- * Example:
1438- * ALOG(LOG_WARN, NULL, "Failed with error %d", errno);
1439- *
1440- * The second argument may be NULL or "" to indicate the "global" tag.
1441- */
1442-#ifndef ALOG
1443-#define ALOG(priority, tag, ...) \
1444- LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
1445-#endif
1446-
1447-/*
1448- * Log macro that allows you to specify a number for the priority.
1449- */
1450-#ifndef LOG_PRI
1451-#define LOG_PRI(priority, tag, ...) \
1452- android_printLog(priority, tag, __VA_ARGS__)
1453-#endif
1454-
1455-/*
1456- * Log macro that allows you to pass in a varargs ("args" is a va_list).
1457- */
1458-#ifndef LOG_PRI_VA
1459-#define LOG_PRI_VA(priority, tag, fmt, args) \
1460- android_vprintLog(priority, NULL, tag, fmt, args)
1461-#endif
1462-
1463-/*
1464- * Conditional given a desired logging priority and tag.
1465- */
1466-#ifndef IF_ALOG
1467-#define IF_ALOG(priority, tag) \
1468- if (android_testLog(ANDROID_##priority, tag))
1469-#endif
1470-
1471-// ---------------------------------------------------------------------
1472-
1473-/*
1474- * Event logging.
1475- */
1476-
1477-/*
1478- * Event log entry types. These must match up with the declarations in
1479- * java/android/android/util/EventLog.java.
1480- */
1481-typedef enum {
1482- EVENT_TYPE_INT = 0,
1483- EVENT_TYPE_LONG = 1,
1484- EVENT_TYPE_STRING = 2,
1485- EVENT_TYPE_LIST = 3
1486-} AndroidEventLogType;
1487-
1488-
1489-#ifndef LOG_EVENT_INT
1490-#define LOG_EVENT_INT(_tag, _value) { \
1491- int intBuf = _value; \
1492- (void) android_btWriteLog(_tag, EVENT_TYPE_INT, &intBuf, \
1493- sizeof(intBuf)); \
1494- }
1495-#endif
1496-#ifndef LOG_EVENT_LONG
1497-#define LOG_EVENT_LONG(_tag, _value) { \
1498- long long longBuf = _value; \
1499- (void) android_btWriteLog(_tag, EVENT_TYPE_LONG, &longBuf, \
1500- sizeof(longBuf)); \
1501- }
1502-#endif
1503-#ifndef LOG_EVENT_STRING
1504-#define LOG_EVENT_STRING(_tag, _value) \
1505- ((void) 0) /* not implemented -- must combine len with string */
1506-#endif
1507-/* TODO: something for LIST */
1508-
1509-/*
1510- * ===========================================================================
1511- *
1512- * The stuff in the rest of this file should not be used directly.
1513- */
1514-
1515-#define android_printLog(prio, tag, ...) \
1516- __android_log_print(prio, tag, __VA_ARGS__)
1517-
1518-#define android_vprintLog(prio, cond, tag, ...) \
1519- __android_log_vprint(prio, tag, __VA_ARGS__)
1520-
1521-/* XXX Macros to work around syntax errors in places where format string
1522- * arg is not passed to ALOG_ASSERT, LOG_ALWAYS_FATAL or LOG_ALWAYS_FATAL_IF
1523- * (happens only in debug builds).
1524- */
1525-
1526-/* Returns 2nd arg. Used to substitute default value if caller's vararg list
1527- * is empty.
1528- */
1529-#define __android_second(dummy, second, ...) second
1530-
1531-/* If passed multiple args, returns ',' followed by all but 1st arg, otherwise
1532- * returns nothing.
1533- */
1534-#define __android_rest(first, ...) , ## __VA_ARGS__
1535-
1536-#ifdef HAVE_ANDROID_OS
1537-#define android_printAssert(cond, tag, ...) \
1538- __android_log_assert(cond, tag, \
1539- __android_second(0, ## __VA_ARGS__, NULL) __android_rest(__VA_ARGS__))
1540-#else
1541-#include <assert.h>
1542-#define android_printAssert(cond, tag, ...) \
1543- assert(false && #cond)
1544-#endif // HAVE_ANDROID_OS
1545-
1546-// TODO: remove these prototypes and their users
1547-#define android_testLog(prio, tag) (1)
1548-#define android_writevLog(vec,num) do{}while(0)
1549-#define android_write1Log(str,len) do{}while (0)
1550-#define android_setMinPriority(tag, prio) do{}while(0)
1551-//#define android_logToCallback(func) do{}while(0)
1552-#define android_logToFile(tag, file) (0)
1553-#define android_logToFd(tag, fd) (0)
1554-
1555-typedef enum {
1556- LOG_ID_MAIN = 0,
1557- LOG_ID_RADIO = 1,
1558- LOG_ID_EVENTS = 2,
1559- LOG_ID_SYSTEM = 3,
1560-
1561- LOG_ID_MAX
1562-} log_id_t;
1563-
1564-/*
1565- * Send a simple string to the log.
1566- */
1567-int __android_log_buf_print(int bufID, int prio, const char *tag, const char *fmt, ...);
1568-
1569-
1570-#ifdef __cplusplus
1571-}
1572-#endif
1573-
1574-#endif // _LIBS_CUTILS_LOG_H
1575
1576=== removed file '3rd_party/android-deps/cutils/logd.h'
1577--- 3rd_party/android-deps/cutils/logd.h 2016-01-29 08:18:22 +0000
1578+++ 3rd_party/android-deps/cutils/logd.h 1970-01-01 00:00:00 +0000
1579@@ -1,37 +0,0 @@
1580-/*
1581- * Copyright (C) 2009 The Android Open Source Project
1582- *
1583- * Licensed under the Apache License, Version 2.0 (the "License");
1584- * you may not use this file except in compliance with the License.
1585- * You may obtain a copy of the License at
1586- *
1587- * http://www.apache.org/licenses/LICENSE-2.0
1588- *
1589- * Unless required by applicable law or agreed to in writing, software
1590- * distributed under the License is distributed on an "AS IS" BASIS,
1591- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1592- * See the License for the specific language governing permissions and
1593- * limitations under the License.
1594- */
1595-
1596-#ifndef _ANDROID_CUTILS_LOGD_H
1597-#define _ANDROID_CUTILS_LOGD_H
1598-
1599-/* the stable/frozen log-related definitions have been
1600- * moved to this header, which is exposed by the NDK
1601- */
1602-#include <android/log.h>
1603-
1604-/* the rest is only used internally by the system */
1605-#include <time.h>
1606-#include <stdio.h>
1607-#include <unistd.h>
1608-#include <stdint.h>
1609-#include <sys/types.h>
1610-#ifdef HAVE_PTHREADS
1611-#include <pthread.h>
1612-#endif
1613-#include <sys/uio.h>
1614-#include <stdarg.h>
1615-
1616-#endif /* _LOGD_H */
1617
1618=== removed directory '3rd_party/android-deps/std'
1619=== removed file '3rd_party/android-deps/std/BitSet.h'
1620--- 3rd_party/android-deps/std/BitSet.h 2013-03-13 04:54:15 +0000
1621+++ 3rd_party/android-deps/std/BitSet.h 1970-01-01 00:00:00 +0000
1622@@ -1,25 +0,0 @@
1623-/*
1624- * Copyright © 2013 Canonical Ltd.
1625- *
1626- * This program is free software: you can redistribute it and/or modify it
1627- * under the terms of the GNU Lesser General Public License version 3,
1628- * as published by the Free Software Foundation.
1629- *
1630- * This program is distributed in the hope that it will be useful,
1631- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1632- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1633- * GNU General Public License for more details.
1634- *
1635- * You should have received a copy of the GNU Lesser General Public License
1636- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1637- *
1638- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1639- */
1640-
1641-
1642-#ifndef MIR_ANDROID_UBUNTU_BITSET_H_
1643-#define MIR_ANDROID_UBUNTU_BITSET_H_
1644-
1645-#include <utils/BitSet.h>
1646-
1647-#endif /* MIR_ANDROID_UBUNTU_BITSET_H_ */
1648
1649=== removed file '3rd_party/android-deps/std/Compat.h'
1650--- 3rd_party/android-deps/std/Compat.h 2013-03-13 04:54:15 +0000
1651+++ 3rd_party/android-deps/std/Compat.h 1970-01-01 00:00:00 +0000
1652@@ -1,25 +0,0 @@
1653-/*
1654- * Copyright © 2013 Canonical Ltd.
1655- *
1656- * This program is free software: you can redistribute it and/or modify it
1657- * under the terms of the GNU Lesser General Public License version 3,
1658- * as published by the Free Software Foundation.
1659- *
1660- * This program is distributed in the hope that it will be useful,
1661- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1662- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1663- * GNU General Public License for more details.
1664- *
1665- * You should have received a copy of the GNU Lesser General Public License
1666- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1667- *
1668- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1669- */
1670-
1671-
1672-#ifndef MIR_ANDROID_UBUNTU_COMPAT_H_
1673-#define MIR_ANDROID_UBUNTU_COMPAT_H_
1674-
1675-#include <utils/Compat.h>
1676-
1677-#endif /* MIR_ANDROID_UBUNTU_COMPAT_H_ */
1678
1679=== removed file '3rd_party/android-deps/std/Condition.h'
1680--- 3rd_party/android-deps/std/Condition.h 2015-04-28 07:54:10 +0000
1681+++ 3rd_party/android-deps/std/Condition.h 1970-01-01 00:00:00 +0000
1682@@ -1,48 +0,0 @@
1683-/*
1684- * Copyright © 2013 Canonical Ltd.
1685- *
1686- * This program is free software: you can redistribute it and/or modify it
1687- * under the terms of the GNU Lesser General Public License version 3,
1688- * as published by the Free Software Foundation.
1689- *
1690- * This program is distributed in the hope that it will be useful,
1691- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1692- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1693- * GNU General Public License for more details.
1694- *
1695- * You should have received a copy of the GNU Lesser General Public License
1696- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1697- *
1698- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1699- */
1700-
1701-
1702-#ifndef MIR_ANDROID_UBUNTU_CONDITION_H_
1703-#define MIR_ANDROID_UBUNTU_CONDITION_H_
1704-
1705-#include <std/Timers.h>
1706-
1707-#include <condition_variable>
1708-#include <chrono>
1709-
1710-namespace mir_input
1711-{
1712-typedef std::condition_variable_any Condition;
1713-
1714-inline void broadcast(Condition& c) { c.notify_all(); }
1715-
1716-template <typename Lock>
1717-inline void waitRelative(Condition& c, Lock& l, std::chrono::nanoseconds reltime)
1718-{
1719- c.wait_for(l, std::chrono::nanoseconds(reltime));
1720-}
1721-}
1722-
1723-namespace android
1724-{
1725-using ::mir_input::Condition;
1726-using ::mir_input::broadcast;
1727-using ::mir_input::waitRelative;
1728-}
1729-
1730-#endif /* MIR_ANDROID_UBUNTU_CONDITION_H_ */
1731
1732=== removed file '3rd_party/android-deps/std/Errors.h'
1733--- 3rd_party/android-deps/std/Errors.h 2013-03-13 04:54:15 +0000
1734+++ 3rd_party/android-deps/std/Errors.h 1970-01-01 00:00:00 +0000
1735@@ -1,116 +0,0 @@
1736-/*
1737- * Copyright © 2013 Canonical Ltd.
1738- *
1739- * This program is free software: you can redistribute it and/or modify it
1740- * under the terms of the GNU Lesser General Public License version 3,
1741- * as published by the Free Software Foundation.
1742- *
1743- * This program is distributed in the hope that it will be useful,
1744- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1745- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1746- * GNU General Public License for more details.
1747- *
1748- * You should have received a copy of the GNU Lesser General Public License
1749- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1750- *
1751- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1752- */
1753-
1754-
1755-#ifndef MIR_ANDROID_UBUNTU_ERRORS_H_
1756-#define MIR_ANDROID_UBUNTU_ERRORS_H_
1757-
1758-#include <sys/types.h>
1759-#include <errno.h>
1760-
1761-namespace mir_input
1762-{
1763-
1764-// use this type to return error codes
1765-#ifdef HAVE_MS_C_RUNTIME
1766-typedef int status_t;
1767-#else
1768-typedef int32_t status_t;
1769-#endif
1770-
1771-/* the MS C runtime lacks a few error codes */
1772-
1773-/*
1774- * Error codes.
1775- * All error codes are negative values.
1776- */
1777-
1778-// Win32 #defines NO_ERROR as well. It has the same value, so there's no
1779-// real conflict, though it's a bit awkward.
1780-#ifdef _WIN32
1781-# undef NO_ERROR
1782-#endif
1783-
1784-enum {
1785- OK = 0, // Everything's swell.
1786- NO_ERROR = 0, // No errors.
1787-
1788- UNKNOWN_ERROR = 0x80000000,
1789-
1790- NO_MEMORY = -ENOMEM,
1791- INVALID_OPERATION = -ENOSYS,
1792- BAD_VALUE = -EINVAL,
1793- BAD_TYPE = 0x80000001,
1794- NAME_NOT_FOUND = -ENOENT,
1795- PERMISSION_DENIED = -EPERM,
1796- NO_INIT = -ENODEV,
1797- ALREADY_EXISTS = -EEXIST,
1798- DEAD_OBJECT = -EPIPE,
1799- FAILED_TRANSACTION = 0x80000002,
1800- JPARKS_BROKE_IT = -EPIPE,
1801-#if !defined(HAVE_MS_C_RUNTIME)
1802- BAD_INDEX = -EOVERFLOW,
1803- NOT_ENOUGH_DATA = -ENODATA,
1804- WOULD_BLOCK = -EWOULDBLOCK,
1805- TIMED_OUT = -ETIMEDOUT,
1806- UNKNOWN_TRANSACTION = -EBADMSG,
1807-#else
1808- BAD_INDEX = -E2BIG,
1809- NOT_ENOUGH_DATA = 0x80000003,
1810- WOULD_BLOCK = 0x80000004,
1811- TIMED_OUT = 0x80000005,
1812- UNKNOWN_TRANSACTION = 0x80000006,
1813-#endif
1814- FDS_NOT_ALLOWED = 0x80000007
1815-};
1816-
1817-// Restore define; enumeration is in "android" namespace, so the value defined
1818-// there won't work for Win32 code in a different namespace.
1819-#ifdef _WIN32
1820-# define NO_ERROR 0L
1821-#endif
1822-
1823-}
1824-
1825-namespace android
1826-{
1827-using ::mir_input::status_t;
1828-using ::mir_input::OK;
1829-using ::mir_input::NO_ERROR;
1830-using ::mir_input::UNKNOWN_ERROR;
1831-using ::mir_input::NO_MEMORY;
1832-using ::mir_input::INVALID_OPERATION;
1833-using ::mir_input::BAD_VALUE;
1834-using ::mir_input::BAD_TYPE;
1835-using ::mir_input::NAME_NOT_FOUND;
1836-using ::mir_input::PERMISSION_DENIED;
1837-using ::mir_input::NO_INIT;
1838-using ::mir_input::ALREADY_EXISTS;
1839-using ::mir_input::DEAD_OBJECT;
1840-using ::mir_input::FAILED_TRANSACTION;
1841-using ::mir_input::JPARKS_BROKE_IT;
1842-using ::mir_input::BAD_INDEX;
1843-using ::mir_input::NOT_ENOUGH_DATA;
1844-using ::mir_input::WOULD_BLOCK;
1845-using ::mir_input::TIMED_OUT;
1846-using ::mir_input::UNKNOWN_TRANSACTION;
1847-using ::mir_input::FDS_NOT_ALLOWED;
1848-}
1849-
1850-
1851-#endif /* MIR_ANDROID_UBUNTU_ERRORS_H_ */
1852
1853=== removed file '3rd_party/android-deps/std/FileMap.h'
1854--- 3rd_party/android-deps/std/FileMap.h 2013-03-13 04:54:15 +0000
1855+++ 3rd_party/android-deps/std/FileMap.h 1970-01-01 00:00:00 +0000
1856@@ -1,25 +0,0 @@
1857-/*
1858- * Copyright © 2013 Canonical Ltd.
1859- *
1860- * This program is free software: you can redistribute it and/or modify it
1861- * under the terms of the GNU Lesser General Public License version 3,
1862- * as published by the Free Software Foundation.
1863- *
1864- * This program is distributed in the hope that it will be useful,
1865- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1866- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1867- * GNU General Public License for more details.
1868- *
1869- * You should have received a copy of the GNU Lesser General Public License
1870- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1871- *
1872- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1873- */
1874-
1875-
1876-#ifndef MIR_ANDROID_UBUNTU_FILEMAP_H_
1877-#define MIR_ANDROID_UBUNTU_FILEMAP_H_
1878-
1879-#include <utils/FileMap.h>
1880-
1881-#endif /* MIR_ANDROID_UBUNTU_FILEMAP_H_ */
1882
1883=== removed file '3rd_party/android-deps/std/KeyedVector.h'
1884--- 3rd_party/android-deps/std/KeyedVector.h 2013-03-13 04:54:15 +0000
1885+++ 3rd_party/android-deps/std/KeyedVector.h 1970-01-01 00:00:00 +0000
1886@@ -1,25 +0,0 @@
1887-/*
1888- * Copyright © 2013 Canonical Ltd.
1889- *
1890- * This program is free software: you can redistribute it and/or modify it
1891- * under the terms of the GNU Lesser General Public License version 3,
1892- * as published by the Free Software Foundation.
1893- *
1894- * This program is distributed in the hope that it will be useful,
1895- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1896- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1897- * GNU General Public License for more details.
1898- *
1899- * You should have received a copy of the GNU Lesser General Public License
1900- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1901- *
1902- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1903- */
1904-
1905-
1906-#ifndef MIR_ANDROID_UBUNTU_KEYEDVECTOR_H_
1907-#define MIR_ANDROID_UBUNTU_KEYEDVECTOR_H_
1908-
1909-#include <utils/KeyedVector.h>
1910-
1911-#endif /* MIR_ANDROID_UBUNTU_KEYEDVECTOR_H_ */
1912
1913=== removed file '3rd_party/android-deps/std/List.h'
1914--- 3rd_party/android-deps/std/List.h 2013-03-13 04:54:15 +0000
1915+++ 3rd_party/android-deps/std/List.h 1970-01-01 00:00:00 +0000
1916@@ -1,25 +0,0 @@
1917-/*
1918- * Copyright © 2013 Canonical Ltd.
1919- *
1920- * This program is free software: you can redistribute it and/or modify it
1921- * under the terms of the GNU Lesser General Public License version 3,
1922- * as published by the Free Software Foundation.
1923- *
1924- * This program is distributed in the hope that it will be useful,
1925- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1926- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1927- * GNU General Public License for more details.
1928- *
1929- * You should have received a copy of the GNU Lesser General Public License
1930- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1931- *
1932- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1933- */
1934-
1935-
1936-#ifndef MIR_ANDROID_UBUNTU_LIST_H_
1937-#define MIR_ANDROID_UBUNTU_LIST_H_
1938-
1939-#include <utils/List.h>
1940-
1941-#endif /* MIR_ANDROID_UBUNTU_LIST_H_ */
1942
1943=== removed file '3rd_party/android-deps/std/Log.h'
1944--- 3rd_party/android-deps/std/Log.h 2015-02-22 07:46:25 +0000
1945+++ 3rd_party/android-deps/std/Log.h 1970-01-01 00:00:00 +0000
1946@@ -1,161 +0,0 @@
1947-/*
1948- * Copyright © 2013 Canonical Ltd.
1949- *
1950- * This program is free software: you can redistribute it and/or modify it
1951- * under the terms of the GNU Lesser General Public License version 3,
1952- * as published by the Free Software Foundation.
1953- *
1954- * This program is distributed in the hope that it will be useful,
1955- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1956- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1957- * GNU General Public License for more details.
1958- *
1959- * You should have received a copy of the GNU Lesser General Public License
1960- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1961- *
1962- * Authored by: Alan Griffiths <alan@octopull.co.uk>
1963- */
1964-
1965-
1966-#ifndef MIR_ANDROID_UBUNTU_LOG_H_
1967-#define MIR_ANDROID_UBUNTU_LOG_H_
1968-
1969-/*
1970- * Android log priority values, in ascending priority order.
1971- */
1972-typedef enum android_LogPriority {
1973- ANDROID_LOG_UNKNOWN = 0,
1974- ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
1975- ANDROID_LOG_VERBOSE,
1976- ANDROID_LOG_DEBUG,
1977- ANDROID_LOG_INFO,
1978- ANDROID_LOG_WARN,
1979- ANDROID_LOG_ERROR,
1980-} android_LogPriority;
1981-
1982-/*
1983- * Basic log message macro.
1984- *
1985- * Example:
1986- * ALOG(LOG_WARN, NULL, "Failed with error %d", errno);
1987- *
1988- * The second argument may be NULL or "" to indicate the "global" tag.
1989- */
1990-
1991-#ifndef ALOG
1992-#define ALOG(priority, tag, ...) \
1993- LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
1994-#endif
1995-
1996-/*
1997- * Log macro that allows you to specify a number for the priority.
1998- */
1999-#ifndef LOG_PRI
2000-#define LOG_PRI(priority, tag, ...) \
2001- android_printLog(priority, tag, __VA_ARGS__)
2002-#endif
2003-
2004-// ---------------------------------------------------------------------
2005-
2006-/*
2007- * Simplified macro to send a verbose log message using the current LOG_TAG.
2008- */
2009-#ifndef ALOGV
2010-#if LOG_NDEBUG // Per Android, optimize out verbose messages when LOG_NDEBUG=1
2011-#define ALOGV(...) ((void)0)
2012-#else
2013-#define ALOGV(...) ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
2014-#endif
2015-#endif
2016-
2017-/*
2018- * Simplified macro to send a debug log message using the current LOG_TAG.
2019- */
2020-#ifndef ALOGD
2021-#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))
2022-#endif
2023-
2024-/*
2025- * Simplified macro to send an info log message using the current LOG_TAG.
2026- */
2027-#ifndef ALOGI
2028-#define ALOGI(...) ((void)ALOG(LOG_INFO, LOG_TAG, __VA_ARGS__))
2029-#endif
2030-
2031-/*
2032- * Simplified macro to send a warning log message using the current LOG_TAG.
2033- */
2034-#ifndef ALOGW
2035-#define ALOGW(...) ((void)ALOG(LOG_WARN, LOG_TAG, __VA_ARGS__))
2036-#endif
2037-
2038-/*
2039- * Simplified macro to send an error log message using the current LOG_TAG.
2040- */
2041-#ifndef ALOGE
2042-#define ALOGE(...) ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__))
2043-#endif
2044-
2045-// ---------------------------------------------------------------------
2046-
2047-#define android_printLog(prio, tag, ...) \
2048- __android_log_print(prio, tag, __VA_ARGS__)
2049-
2050-extern "C" int __android_log_print(int /*prio*/, const char *tag, const char *fmt, ...);
2051-extern "C" void __android_log_assert(const char *cond, const char *tag, const char *fmt, ...);
2052-/*
2053- * Assertion that generates a log message when the assertion fails.
2054- * Stripped out of release builds. Uses the current LOG_TAG.
2055- */
2056-#ifndef ALOG_ASSERT
2057-#define ALOG_ASSERT(cond, ...) LOG_FATAL_IF(!(cond), ## __VA_ARGS__)
2058-#endif
2059-
2060-// ---------------------------------------------------------------------
2061-
2062-/*
2063- * Log a fatal error. If the given condition fails, this stops program
2064- * execution like a normal assertion, but also generating the given message.
2065- * It is NOT stripped from release builds. Note that the condition test
2066- * is -inverted- from the normal assert() semantics.
2067- */
2068-#ifndef LOG_ALWAYS_FATAL_IF
2069-#define LOG_ALWAYS_FATAL_IF(cond, ...) \
2070- ( (CONDITION(cond)) \
2071- ? ((void)android_printAssert(#cond, LOG_TAG, ## __VA_ARGS__)) \
2072- : (void)0 )
2073-#endif
2074-
2075-#ifndef LOG_ALWAYS_FATAL
2076-#define LOG_ALWAYS_FATAL(...) \
2077- ( ((void)android_printAssert(NULL, LOG_TAG, ## __VA_ARGS__)) )
2078-#endif
2079-
2080-/*
2081- * Versions of LOG_ALWAYS_FATAL_IF and LOG_ALWAYS_FATAL that
2082- * are stripped out of release builds.
2083- */
2084-#ifndef LOG_FATAL_IF
2085-#define LOG_FATAL_IF(cond, ...) LOG_ALWAYS_FATAL_IF(cond, ## __VA_ARGS__)
2086-#endif
2087-#ifndef LOG_FATAL
2088-#define LOG_FATAL(...) LOG_ALWAYS_FATAL(__VA_ARGS__)
2089-#endif
2090-
2091-/* Returns 2nd arg. Used to substitute default value if caller's vararg list
2092- * is empty.
2093- */
2094-#define __android_second(dummy, second, ...) second
2095-
2096-/* If passed multiple args, returns ',' followed by all but 1st arg, otherwise
2097- * returns nothing.
2098- */
2099-#define __android_rest(first, ...) , ## __VA_ARGS__
2100-
2101-#define android_printAssert(cond, tag, ...) \
2102- __android_log_assert(cond, tag, \
2103- __android_second(0, ## __VA_ARGS__, NULL) __android_rest(__VA_ARGS__))
2104-
2105-#define CONDITION(cond) (__builtin_expect((cond)!=0, 0))
2106-
2107-#endif /* MIR_ANDROID_UBUNTU_LOG_H_ */
2108
2109=== removed file '3rd_party/android-deps/std/MirLog.h'
2110--- 3rd_party/android-deps/std/MirLog.h 2013-05-03 22:53:02 +0000
2111+++ 3rd_party/android-deps/std/MirLog.h 1970-01-01 00:00:00 +0000
2112@@ -1,29 +0,0 @@
2113-/*
2114- * Copyright © 2013 Canonical Ltd.
2115- *
2116- * This program is free software: you can redistribute it and/or modify it
2117- * under the terms of the GNU General Public License version 3,
2118- * as published by the Free Software Foundation.
2119- *
2120- * This program is distributed in the hope that it will be useful,
2121- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2122- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2123- * GNU General Public License for more details.
2124- *
2125- * You should have received a copy of the GNU General Public License
2126- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2127- *
2128- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2129- */
2130-
2131-
2132-#ifndef MIR_LOG_H_
2133-#define MIR_LOG_H_
2134-
2135-namespace mir
2136-{
2137-extern void (*write_to_log)(int prio, char const* buffer);
2138-}
2139-
2140-
2141-#endif /* MIR_LOG_H_ */
2142
2143=== removed file '3rd_party/android-deps/std/Mutex.h'
2144--- 3rd_party/android-deps/std/Mutex.h 2013-03-13 04:54:15 +0000
2145+++ 3rd_party/android-deps/std/Mutex.h 1970-01-01 00:00:00 +0000
2146@@ -1,32 +0,0 @@
2147-/*
2148- * Copyright © 2013 Canonical Ltd.
2149- *
2150- * This program is free software: you can redistribute it and/or modify it
2151- * under the terms of the GNU Lesser General Public License version 3,
2152- * as published by the Free Software Foundation.
2153- *
2154- * This program is distributed in the hope that it will be useful,
2155- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2156- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2157- * GNU General Public License for more details.
2158- *
2159- * You should have received a copy of the GNU Lesser General Public License
2160- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2161- *
2162- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2163- */
2164-
2165-
2166-#ifndef MIR_ANDROID_UBUNTU_MUTEX_H_
2167-#define MIR_ANDROID_UBUNTU_MUTEX_H_
2168-
2169-#include <mutex>
2170-
2171-namespace android
2172-{
2173-typedef std::mutex Mutex;
2174-
2175-typedef std::lock_guard<std::mutex> AutoMutex;
2176-}
2177-
2178-#endif /* MIR_ANDROID_UBUNTU_MUTEX_H_ */
2179
2180=== removed file '3rd_party/android-deps/std/PropertyMap.h'
2181--- 3rd_party/android-deps/std/PropertyMap.h 2013-09-19 20:41:56 +0000
2182+++ 3rd_party/android-deps/std/PropertyMap.h 1970-01-01 00:00:00 +0000
2183@@ -1,171 +0,0 @@
2184-/*
2185- * Copyright © 2013 Canonical Ltd.
2186- *
2187- * This program is free software: you can redistribute it and/or modify it
2188- * under the terms of the GNU Lesser General Public License version 3,
2189- * as published by the Free Software Foundation.
2190- *
2191- * This program is distributed in the hope that it will be useful,
2192- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2193- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2194- * GNU General Public License for more details.
2195- *
2196- * You should have received a copy of the GNU Lesser General Public License
2197- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2198- *
2199- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2200- */
2201-
2202-
2203-#ifndef MIR_ANDROID_UBUNTU_PROPERTYMAP_H_
2204-#define MIR_ANDROID_UBUNTU_PROPERTYMAP_H_
2205-
2206-#include <std/String8.h>
2207-#include <std/Errors.h>
2208-
2209-#include <boost/program_options/parsers.hpp>
2210-#include <boost/program_options/variables_map.hpp>
2211-#include <boost/program_options/options_description.hpp>
2212-#include <boost/lexical_cast.hpp>
2213-
2214-#include <fstream>
2215-
2216-namespace mir_input
2217-{
2218-/*
2219- * Provides a mechanism for passing around string-based property key / value pairs
2220- * and loading them from property files.
2221- *
2222- * The property files have the following simple structure:
2223- *
2224- * # Comment
2225- * key = value
2226- *
2227- * Keys and values are any sequence of printable ASCII characters.
2228- * The '=' separates the key from the value.
2229- * The key and value may not contain whitespace.
2230- *
2231- * The '\' character is reserved for escape sequences and is not currently supported.
2232- * The '"" character is reserved for quoting and is not currently supported.
2233- * Files that contain the '\' or '"' character will fail to parse.
2234- *
2235- * The file must not contain duplicate keys.
2236- *
2237- * TODO Support escape sequences and quoted values when needed.
2238- */
2239-class PropertyMap {
2240-public:
2241-// /* Creates an empty property map. */
2242-// PropertyMap();
2243-// ~PropertyMap();
2244-
2245- /* Clears the property map. */
2246- void clear() { options = boost::program_options::variables_map(); }
2247-
2248- /* Adds a property.
2249- * Replaces the property with the same key if it is already present.
2250- */
2251- void addProperty(const String8& key, const String8& value)
2252- {
2253- namespace po = boost::program_options;
2254- options.insert(std::make_pair(key, po::variable_value(value, false)));
2255- }
2256-
2257- void addAll(const PropertyMap* other)
2258- {
2259- options.insert(other->options.begin(), other->options.end());
2260- }
2261-
2262-//
2263-// /* Returns true if the property map contains the specified key. */
2264-// bool hasProperty(const String8& key) const;
2265-
2266- /* Gets the value of a property and parses it.
2267- * Returns true and sets outValue if the key was found and its value was parsed successfully.
2268- * Otherwise returns false and does not modify outValue.
2269- */
2270- bool tryGetProperty(const String8& key, String8& outValue) const
2271- {
2272- if (!options.count(key)) return false;
2273- outValue = options[key].as<String8>();
2274- return true;
2275- }
2276-
2277- bool tryGetProperty(const String8& key, bool& outValue) const
2278- {
2279- return tryGetPropertyImpl(key, outValue);
2280- }
2281-
2282- bool tryGetProperty(const String8& key, int32_t& outValue) const
2283- {
2284- return tryGetPropertyImpl(key, outValue);
2285- }
2286-
2287- bool tryGetProperty(const String8& key, float& outValue) const
2288- {
2289- return tryGetPropertyImpl(key, outValue);
2290- }
2291-
2292-// /* Adds all values from the specified property map. */
2293-// void addAll(const PropertyMap* map);
2294-//
2295-// /* Gets the underlying property map. */
2296-// inline const KeyedVector<String8, String8>& getProperties() const { return mProperties; }
2297-
2298- /* Loads a property map from a file. */
2299- static status_t load(const String8& filename, PropertyMap** outMap)
2300- {
2301- namespace po = boost::program_options;
2302-
2303- try
2304- {
2305- po::options_description description;
2306-
2307- std::ifstream file(filename);
2308- auto parsed_options = po::parse_config_file(file, description, true);
2309-
2310- // register the options we found so they'll be stored
2311- for (auto& option : parsed_options.options)
2312- {
2313- description.add_options()(option.string_key.data(), "");
2314- option.unregistered = false;
2315- }
2316-
2317- *outMap = new PropertyMap();
2318- po::store(parsed_options, (*outMap)->options);
2319-
2320- return NO_ERROR;
2321- }
2322- catch (std::exception const& error)
2323- {
2324- return BAD_VALUE;
2325- }
2326- }
2327-
2328-
2329-private:
2330- template<typename Type>
2331- bool tryGetPropertyImpl(const String8& key, Type& outValue) const
2332- {
2333- if (!options.count(key)) return false;
2334- try
2335- {
2336- outValue = boost::lexical_cast<Type>(options[key].as<String8>());
2337- return true;
2338- }
2339- catch (...)
2340- {
2341- return false;
2342- }
2343- }
2344-
2345- boost::program_options::variables_map options;
2346-};
2347-}
2348-
2349-namespace android
2350-{
2351-using ::mir_input::PropertyMap;
2352-}
2353-
2354-#endif /* MIR_ANDROID_UBUNTU_PROPERTYMAP_H_ */
2355
2356=== removed file '3rd_party/android-deps/std/RefBase.h'
2357--- 3rd_party/android-deps/std/RefBase.h 2013-03-13 04:54:15 +0000
2358+++ 3rd_party/android-deps/std/RefBase.h 1970-01-01 00:00:00 +0000
2359@@ -1,30 +0,0 @@
2360-/*
2361- * Copyright © 2013 Canonical Ltd.
2362- *
2363- * This program is free software: you can redistribute it and/or modify it
2364- * under the terms of the GNU Lesser General Public License version 3,
2365- * as published by the Free Software Foundation.
2366- *
2367- * This program is distributed in the hope that it will be useful,
2368- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2369- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2370- * GNU General Public License for more details.
2371- *
2372- * You should have received a copy of the GNU Lesser General Public License
2373- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2374- *
2375- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2376- */
2377-
2378-
2379-#ifndef MIR_ANDROID_UBUNTU_REFBASE_H_
2380-#define MIR_ANDROID_UBUNTU_REFBASE_H_
2381-
2382-#include <utils/RefBase.h>
2383-
2384-namespace mir_input
2385-{
2386-using ::android::RefBase;
2387-}
2388-
2389-#endif /* MIR_ANDROID_UBUNTU_REFBASE_H_ */
2390
2391=== removed file '3rd_party/android-deps/std/SortedVector.h'
2392--- 3rd_party/android-deps/std/SortedVector.h 2013-05-03 16:38:07 +0000
2393+++ 3rd_party/android-deps/std/SortedVector.h 1970-01-01 00:00:00 +0000
2394@@ -1,158 +0,0 @@
2395-/*
2396- * Copyright © 2013 Canonical Ltd.
2397- *
2398- * This program is free software: you can redistribute it and/or modify it
2399- * under the terms of the GNU Lesser General Public License version 3,
2400- * as published by the Free Software Foundation.
2401- *
2402- * This program is distributed in the hope that it will be useful,
2403- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2404- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2405- * GNU General Public License for more details.
2406- *
2407- * You should have received a copy of the GNU Lesser General Public License
2408- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2409- *
2410- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2411- */
2412-
2413-
2414-#ifndef MIR_ANDROID_UBUNTU_SORTEDVECTOR_H_
2415-#define MIR_ANDROID_UBUNTU_SORTEDVECTOR_H_
2416-
2417-#include <std/Errors.h>
2418-
2419-#include <algorithm>
2420-#include <vector>
2421-
2422-namespace mir_input
2423-{
2424-template <class ValueType>
2425-class SortedVector : std::vector<ValueType>
2426-{
2427- typedef std::vector<ValueType> Impl;
2428- using Impl::begin;
2429- using Impl::end;
2430- using Impl::insert;
2431- using Impl::erase;
2432- using Impl::operator[];
2433-public:
2434- using Impl::empty;
2435- using Impl::clear;
2436- using Impl::size;
2437-
2438- /*
2439- * the following inlines add some level of compatibility with android utils.
2440- * Stuff that is commented out isn't used in the input stack
2441- */
2442-
2443-// typedef ValueType value_type;
2444-//
2445-// /*!
2446-// * Constructors and destructors
2447-// */
2448-//
2449-// SortedVector();
2450-// SortedVector(const SortedVector<ValueType>& rhs);
2451-// virtual ~SortedVector();
2452-//
2453-// /*! copy operator */
2454-// const SortedVector<ValueType>& operator = (const SortedVector<ValueType>& rhs) const;
2455-// SortedVector<ValueType>& operator = (const SortedVector<ValueType>& rhs);
2456-
2457- /*!
2458- * vector stats
2459- */
2460-
2461- //! returns wether or not the vector is empty
2462- bool isEmpty() const { return empty(); }
2463-// //! returns how many items can be stored without reallocating the backing store
2464-// inline size_t capacity() const { return VectorImpl::capacity(); }
2465-// //! setst the capacity. capacity can never be reduced less than size()
2466-// inline ssize_t setCapacity(size_t size) { return VectorImpl::setCapacity(size); }
2467-//
2468-// /*!
2469-// * C-style array access
2470-// */
2471-//
2472-// //! read-only C-style access
2473-// inline const ValueType* array() const;
2474-//
2475-// //! read-write C-style access. BE VERY CAREFUL when modifying the array
2476-// //! you ust keep it sorted! You usually don't use this function.
2477-// ValueType* editArray();
2478-
2479- //! finds the index of an item
2480- ssize_t indexOf(const ValueType& item) const
2481- {
2482- auto p = lower_bound(begin(), end(), item);
2483-
2484- if (p != end() && *p == item) return distance(begin(), p);
2485- else return NAME_NOT_FOUND;
2486- }
2487-
2488-// //! finds where this item should be inserted
2489-// size_t orderOf(const ValueType& item) const;
2490-
2491-
2492- /*!
2493- * accessors
2494- */
2495-
2496-// //! read-only access to an item at a given index
2497-// inline const ValueType& operator [] (size_t index) const;
2498- //! alternate name for operator []
2499- const ValueType& itemAt(size_t index) const { return operator[](index); }
2500-// stack-usage of the vector. returns the top of the stack (last element)
2501-// const ValueType& top() const;
2502-// //! same as operator [], but allows to access the vector backward (from the end) with a negative index
2503-// const ValueType& mirrorItemAt(ssize_t index) const;
2504-//
2505- /*!
2506- * modifing the array
2507- */
2508-
2509- //! add an item in the right place (and replace the one that is there)
2510- ssize_t add(const ValueType& item)
2511- {
2512- auto pos = lower_bound(begin(), end(), item);
2513- if (pos == end() || !(*pos == item)) pos = insert(pos, item);
2514- else *pos = item;
2515-
2516- return distance(begin(), pos);
2517- }
2518-
2519- //! editItemAt() MUST NOT change the order of this item
2520- ValueType& editItemAt(size_t index) { return operator[](index); }
2521-
2522-// //! merges a vector into this one
2523-// ssize_t merge(const Vector<ValueType>& vector);
2524-// ssize_t merge(const SortedVector<ValueType>& vector);
2525-
2526- //! removes an item
2527- ssize_t remove(const ValueType& item)
2528- {
2529- auto remove_pos = lower_bound(begin(), end(), item);
2530- if (remove_pos != end() && *remove_pos == item)
2531- {
2532- auto removed_at = erase(remove_pos);
2533- return distance(begin(), removed_at);
2534- }
2535- return NAME_NOT_FOUND;
2536- }
2537-
2538-
2539- //! remove several items
2540- ssize_t removeItemsAt(size_t index, size_t count = 1)
2541- { if (index+count > size()) return BAD_VALUE; auto i = begin() + index; erase(i, i+count); return index; }
2542-// //! remove one item
2543-// inline ssize_t removeAt(size_t index) { return removeItemsAt(index); }
2544-};
2545-}
2546-
2547-namespace android
2548-{
2549-using ::mir_input::SortedVector;
2550-} // namespace android
2551-
2552-#endif /* MIR_ANDROID_UBUNTU_SORTEDVECTOR_H_ */
2553
2554=== removed file '3rd_party/android-deps/std/String8.h'
2555--- 3rd_party/android-deps/std/String8.h 2013-03-13 04:54:15 +0000
2556+++ 3rd_party/android-deps/std/String8.h 1970-01-01 00:00:00 +0000
2557@@ -1,79 +0,0 @@
2558-/*
2559- * Copyright © 2013 Canonical Ltd.
2560- *
2561- * This program is free software: you can redistribute it and/or modify it
2562- * under the terms of the GNU Lesser General Public License version 3,
2563- * as published by the Free Software Foundation.
2564- *
2565- * This program is distributed in the hope that it will be useful,
2566- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2567- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2568- * GNU General Public License for more details.
2569- *
2570- * You should have received a copy of the GNU Lesser General Public License
2571- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2572- *
2573- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2574- */
2575-
2576-
2577-#ifndef MIR_ANDROID_UBUNTU_STRING8_H_
2578-#define MIR_ANDROID_UBUNTU_STRING8_H_
2579-
2580-#include <string>
2581-#include <cstdarg>
2582-
2583-namespace mir_input
2584-{
2585-typedef ::std::string String8;
2586-inline bool isEmpty(String8 const& s) { return s.empty(); }
2587-inline char const* c_str(String8 const& s) { return s.c_str(); }
2588-inline String8& appendFormat(String8& ss, const char* fmt, ...)
2589-{
2590- ::va_list args;
2591- ::va_start(args, fmt);
2592-
2593- int n = ::vsnprintf(NULL, 0, fmt, args);
2594- if (n != 0) {
2595- char* s = (char*) malloc(n+1);
2596-
2597- if (s) {
2598- ::va_end(args);
2599- ::va_start(args, fmt);
2600- if (::vsnprintf(s, n+1, fmt, args))
2601- {
2602- ss.append(s, s+n);
2603- }
2604- free(s);
2605- }
2606- }
2607- ::va_end(args);
2608- return ss;
2609-}
2610-inline void setTo(String8& s, char const* value) { s = value; }
2611-inline char* lockBuffer(String8& s, int) { return const_cast<char*>(s.data()); }
2612-template <typename ... Args>
2613-inline String8 formatString8(const char* fmt, Args... args)
2614-{
2615- String8 ss;
2616- appendFormat(ss, fmt, args...);
2617- return ss;
2618-}
2619-inline void setTo(String8& s, String8 const& value) { s = value; }
2620-inline String8 const& emptyString8() { static String8 empty; return empty; }
2621-}
2622-
2623-namespace android
2624-{
2625-using ::mir_input::String8;
2626-using ::mir_input::isEmpty;
2627-using ::mir_input::c_str;
2628-using ::mir_input::appendFormat;
2629-using ::mir_input::setTo;
2630-using ::mir_input::lockBuffer;
2631-using ::mir_input::formatString8;
2632-using ::mir_input::setTo;
2633-using ::mir_input::emptyString8;
2634-}
2635-
2636-#endif /* MIR_ANDROID_UBUNTU_STRING8_H_ */
2637
2638=== removed file '3rd_party/android-deps/std/StrongPointer.h'
2639--- 3rd_party/android-deps/std/StrongPointer.h 2013-03-13 04:54:15 +0000
2640+++ 3rd_party/android-deps/std/StrongPointer.h 1970-01-01 00:00:00 +0000
2641@@ -1,25 +0,0 @@
2642-/*
2643- * Copyright © 2013 Canonical Ltd.
2644- *
2645- * This program is free software: you can redistribute it and/or modify it
2646- * under the terms of the GNU Lesser General Public License version 3,
2647- * as published by the Free Software Foundation.
2648- *
2649- * This program is distributed in the hope that it will be useful,
2650- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2651- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2652- * GNU General Public License for more details.
2653- *
2654- * You should have received a copy of the GNU Lesser General Public License
2655- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2656- *
2657- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2658- */
2659-
2660-
2661-#ifndef MIR_ANDROID_UBUNTU_STRONGPOINTER_H_
2662-#define MIR_ANDROID_UBUNTU_STRONGPOINTER_H_
2663-
2664-#include <utils/StrongPointer.h>
2665-
2666-#endif /* MIR_ANDROID_UBUNTU_STRONGPOINTER_H_ */
2667
2668=== removed file '3rd_party/android-deps/std/Timers.h'
2669--- 3rd_party/android-deps/std/Timers.h 2013-03-13 04:54:15 +0000
2670+++ 3rd_party/android-deps/std/Timers.h 1970-01-01 00:00:00 +0000
2671@@ -1,25 +0,0 @@
2672-/*
2673- * Copyright © 2013 Canonical Ltd.
2674- *
2675- * This program is free software: you can redistribute it and/or modify it
2676- * under the terms of the GNU Lesser General Public License version 3,
2677- * as published by the Free Software Foundation.
2678- *
2679- * This program is distributed in the hope that it will be useful,
2680- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2681- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2682- * GNU General Public License for more details.
2683- *
2684- * You should have received a copy of the GNU Lesser General Public License
2685- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2686- *
2687- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2688- */
2689-
2690-
2691-#ifndef MIR_ANDROID_UBUNTU_TIMERS_H_
2692-#define MIR_ANDROID_UBUNTU_TIMERS_H_
2693-
2694-#include <utils/Timers.h>
2695-
2696-#endif /* MIR_ANDROID_UBUNTU_TIMERS_H_ */
2697
2698=== removed file '3rd_party/android-deps/std/Tokenizer.h'
2699--- 3rd_party/android-deps/std/Tokenizer.h 2013-03-13 04:54:15 +0000
2700+++ 3rd_party/android-deps/std/Tokenizer.h 1970-01-01 00:00:00 +0000
2701@@ -1,25 +0,0 @@
2702-/*
2703- * Copyright © 2013 Canonical Ltd.
2704- *
2705- * This program is free software: you can redistribute it and/or modify it
2706- * under the terms of the GNU Lesser General Public License version 3,
2707- * as published by the Free Software Foundation.
2708- *
2709- * This program is distributed in the hope that it will be useful,
2710- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2711- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2712- * GNU General Public License for more details.
2713- *
2714- * You should have received a copy of the GNU Lesser General Public License
2715- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2716- *
2717- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2718- */
2719-
2720-
2721-#ifndef MIR_ANDROID_UBUNTU_TOKENIZER_H_
2722-#define MIR_ANDROID_UBUNTU_TOKENIZER_H_
2723-
2724-#include <utils/Tokenizer.h>
2725-
2726-#endif /* MIR_ANDROID_UBUNTU_TOKENIZER_H_ */
2727
2728=== removed file '3rd_party/android-deps/std/TypeHelpers.h'
2729--- 3rd_party/android-deps/std/TypeHelpers.h 2013-03-13 04:54:15 +0000
2730+++ 3rd_party/android-deps/std/TypeHelpers.h 1970-01-01 00:00:00 +0000
2731@@ -1,25 +0,0 @@
2732-/*
2733- * Copyright © 2013 Canonical Ltd.
2734- *
2735- * This program is free software: you can redistribute it and/or modify it
2736- * under the terms of the GNU Lesser General Public License version 3,
2737- * as published by the Free Software Foundation.
2738- *
2739- * This program is distributed in the hope that it will be useful,
2740- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2741- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2742- * GNU General Public License for more details.
2743- *
2744- * You should have received a copy of the GNU Lesser General Public License
2745- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2746- *
2747- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2748- */
2749-
2750-
2751-#ifndef MIR_ANDROID_UBUNTU_TYPEHELPERS_H_
2752-#define MIR_ANDROID_UBUNTU_TYPEHELPERS_H_
2753-
2754-#include <utils/TypeHelpers.h>
2755-
2756-#endif /* MIR_ANDROID_UBUNTU_TYPEHELPERS_H_ */
2757
2758=== removed file '3rd_party/android-deps/std/Vector.h'
2759--- 3rd_party/android-deps/std/Vector.h 2013-09-24 17:46:19 +0000
2760+++ 3rd_party/android-deps/std/Vector.h 1970-01-01 00:00:00 +0000
2761@@ -1,191 +0,0 @@
2762-/*
2763- * Copyright © 2013 Canonical Ltd.
2764- *
2765- * This program is free software: you can redistribute it and/or modify it
2766- * under the terms of the GNU Lesser General Public License version 3,
2767- * as published by the Free Software Foundation.
2768- *
2769- * This program is distributed in the hope that it will be useful,
2770- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2771- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2772- * GNU General Public License for more details.
2773- *
2774- * You should have received a copy of the GNU Lesser General Public License
2775- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2776- *
2777- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2778- */
2779-
2780-
2781-#ifndef MIR_ANDROID_UBUNTU_VECTOR_H_
2782-#define MIR_ANDROID_UBUNTU_VECTOR_H_
2783-
2784-#include <vector>
2785-
2786-namespace mir_input
2787-{
2788-template <typename ValueType>
2789-class Vector : std::vector<ValueType> // NB private inheritance of implementation
2790-{
2791- typedef std::vector<ValueType> Impl;
2792-public:
2793-
2794- using typename Impl::value_type;
2795- using typename Impl::iterator;
2796- using typename Impl::const_iterator;
2797-
2798- using Impl::clear;
2799- using Impl::size;
2800- using Impl::capacity;
2801- using Impl::begin;
2802- using Impl::end;
2803- using Impl::reserve;
2804- using Impl::empty;
2805- using Impl::push_back;
2806- using Impl::erase;
2807- using Impl::insert;
2808- using Impl::at;
2809- using Impl::operator[];
2810-
2811- /*
2812- * the following inlines add some level of compatibility with android utils.
2813- * Stuff that is commented out isn't used in the input stack
2814- */
2815-
2816- /*!
2817- * Constructors and destructors
2818- */
2819- Vector() = default;
2820- Vector(const Vector<ValueType>& /* rhs */) = default;
2821-// explicit Vector(const SortedVector<ValueType>& rhs);
2822- virtual ~Vector() {}
2823-
2824- /*! copy operator */
2825-// const Vector<ValueType>& operator = (const Vector<ValueType>& rhs) const;
2826- Vector<ValueType>& operator=(const Vector<ValueType>& /* rhs */) = default;
2827-
2828-// const Vector<ValueType>& operator = (const SortedVector<ValueType>& rhs) const;
2829-// Vector<ValueType>& operator = (const SortedVector<ValueType>& rhs);
2830-
2831-
2832- /*!
2833- * vector stats
2834- */
2835-
2836- //! returns wether or not the vector is empty
2837- inline bool isEmpty() const { return empty(); }
2838- //! setst the capacity. capacity can never be reduced less than size()
2839- inline ssize_t setCapacity(size_t size) { reserve(size); return size; }
2840-
2841- /*!
2842- * C-style array access
2843- */
2844-
2845- //! read-only C-style access
2846- inline const ValueType* array() const { return Impl::data(); }
2847- //! read-write C-style access
2848- ValueType* editArray() { return Impl::data(); }
2849-
2850- /*!
2851- * accessors
2852- */
2853-
2854- //! alternate name for operator []
2855- inline const ValueType& itemAt(size_t index) const { return at(index); }
2856- //! stack-usage of the vector. returns the top of the stack (last element)
2857- const ValueType& top() const { return Impl::back(); }
2858-// //! same as operator [], but allows to access the vector backward (from the end) with a negative index
2859-// const ValueType& mirrorItemAt(ssize_t index) const { return at((index >= 0) ? index : size()+index); }
2860-
2861- /*!
2862- * modifing the array
2863- */
2864-
2865- //! copy-on write support, grants write access to an item
2866- ValueType& editItemAt(size_t index) { return Impl::operator[](index); }
2867- //! grants right acces to the top of the stack (last element)
2868- ValueType& editTop() { return Impl::back(); }
2869-
2870- /*!
2871- * append/insert another vector
2872- */
2873-
2874-// //! insert another vector at a given index
2875-// ssize_t insertVectorAt(const Vector<ValueType>& vector, size_t index);
2876-
2877- //! append another vector at the end of this one
2878- ssize_t appendVector(const Vector<ValueType>& vector)
2879- {
2880- auto result = size();
2881- insert(end(), vector.begin(), vector.end());
2882- return result;
2883- }
2884-
2885-
2886-// //! insert an array at a given index
2887-// ssize_t insertArrayAt(const ValueType* array, size_t index, size_t length);
2888-
2889- //! append an array at the end of this vector
2890- ssize_t appendArray(const ValueType* array, size_t length)
2891- {
2892- auto result = size();
2893- insert(end(), array, array + length);
2894- return result;
2895- }
2896-
2897- /*!
2898- * add/insert/replace items
2899- */
2900-
2901- //! insert one or several items initialized with their default constructor
2902- inline ssize_t insertAt(size_t index, size_t numItems = 1) { return insertAt(ValueType(), index, numItems); }
2903- //! insert one or several items initialized from a prototype item
2904- ssize_t insertAt(const ValueType& prototype_item, size_t index, size_t numItems = 1)
2905- { insert(begin()+index, numItems, prototype_item); return index; }
2906- //! pop the top of the stack (removes the last element). No-op if the stack's empty
2907- inline void pop() { if (!empty()) erase(--end()); }
2908- //! pushes an item initialized with its default constructor
2909- inline void push() { push_back(ValueType()); }
2910- //! pushes an item on the top of the stack
2911- void push(const ValueType& item) { push_back(item); }
2912- //! same as push() but returns the index the item was added at (or an error)
2913- inline ssize_t add() { auto result = size(); push(); return result; }
2914-
2915- //! same as push() but returns the index the item was added at (or an error)
2916- ssize_t add(const ValueType& item) { auto result = size(); push(item); return result; }
2917-// //! replace an item with a new one initialized with its default constructor
2918-// inline ssize_t replaceAt(size_t index);
2919-// //! replace an item with a new one
2920-// ssize_t replaceAt(const ValueType& item, size_t index);
2921-
2922- /*!
2923- * remove items
2924- */
2925-
2926-//! remove several items
2927- inline ssize_t removeItemsAt(size_t index, size_t count = 1)
2928- { auto i = begin() + index; erase(i, i+count); return index; }
2929-//! remove one item
2930- inline ssize_t removeAt(size_t index)
2931- { auto i = begin() + index; erase(i); return index; }
2932-
2933-// /*!
2934-// * sort (stable) the array
2935-// */
2936-//
2937-// typedef int (*compar_t)(const ValueType* lhs, const ValueType* rhs);
2938-// typedef int (*compar_r_t)(const ValueType* lhs, const ValueType* rhs, void* state);
2939-//
2940-// inline status_t sort(compar_t cmp);
2941-// inline status_t sort(compar_r_t cmp, void* state);
2942-//
2943-// // for debugging only
2944-// inline size_t getItemSize() const { return itemSize(); }
2945-};
2946-}
2947-namespace android
2948-{
2949-using ::mir_input::Vector;
2950-}
2951-
2952-#endif /* MIR_ANDROID_UBUNTU_VECTOR_H_ */
2953
2954=== removed file '3rd_party/android-deps/std/atomic.h'
2955--- 3rd_party/android-deps/std/atomic.h 2016-01-29 08:18:22 +0000
2956+++ 3rd_party/android-deps/std/atomic.h 1970-01-01 00:00:00 +0000
2957@@ -1,79 +0,0 @@
2958-/*
2959- * Copyright © 2013 Canonical Ltd.
2960- *
2961- * This program is free software: you can redistribute it and/or modify it
2962- * under the terms of the GNU Lesser General Public License version 3,
2963- * as published by the Free Software Foundation.
2964- *
2965- * This program is distributed in the hope that it will be useful,
2966- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2967- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2968- * GNU General Public License for more details.
2969- *
2970- * You should have received a copy of the GNU Lesser General Public License
2971- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2972- *
2973- * Authored by: Alan Griffiths <alan@octopull.co.uk>
2974- */
2975-
2976-#ifndef MIR_ANDROID_UBUNTU_ATOMIC_H_
2977-#define MIR_ANDROID_UBUNTU_ATOMIC_H_
2978-
2979-#include <atomic>
2980-#include <stdint.h>
2981-
2982-namespace mir_input
2983-{
2984-
2985-/*
2986- * A handful of basic atomic operations. The appropriate <atomic>
2987- * functions should be used instead of these whenever possible.
2988- * Only those functions needed by the input code are actually supported.
2989- * Others from the corresponding android cutils header are commented out.
2990- */
2991-
2992-typedef std::atomic<int32_t> android_atomic_int32_t;
2993-
2994-/*
2995- * Basic arithmetic and bitwise operations. These all provide a
2996- * barrier with "release" ordering, and return the previous value.
2997- *
2998- * These have the same characteristics (e.g. what happens on overflow)
2999- * as the equivalent non-atomic C operations.
3000- */
3001-inline int32_t android_atomic_inc(android_atomic_int32_t* addr) { return addr->fetch_add(1); }
3002-inline int32_t android_atomic_dec(android_atomic_int32_t* addr) { return addr->fetch_add(-1); }
3003-inline int32_t android_atomic_add(int32_t value, android_atomic_int32_t* addr) { return addr->fetch_add(value); }
3004-inline int32_t android_atomic_or(int32_t value, android_atomic_int32_t* addr) { return addr->fetch_or(value); }
3005-
3006-/*
3007- * Compare-and-set operation with "acquire" or "release" ordering.
3008- *
3009- * This returns zero if the new value was successfully stored, which will
3010- * only happen when *addr == oldvalue.
3011- *
3012- * (The return value is inverted from implementations on other platforms,
3013- * but matches the ARM ldrex/strex result.)
3014- *
3015- * Implementations that use the release CAS in a loop may be less efficient
3016- * than possible, because we re-issue the memory barrier on each iteration.
3017- */
3018-inline int android_atomic_release_cas(int32_t oldvalue, int32_t newvalue,
3019- android_atomic_int32_t* addr) { return !addr->compare_exchange_strong(oldvalue, newvalue); }
3020-}
3021-
3022-/*
3023- * Aliases for code using an older version of this header. These are now
3024- * deprecated and should not be used. The definitions will be removed
3025- * in a future release.
3026- */
3027-#define android_atomic_cmpxchg android_atomic_release_cas
3028-
3029-using mir_input::android_atomic_int32_t;
3030-using mir_input::android_atomic_inc;
3031-using mir_input::android_atomic_dec;
3032-using mir_input::android_atomic_add;
3033-using mir_input::android_atomic_or;
3034-using mir_input::android_atomic_release_cas;
3035-
3036-#endif /* MIR_ANDROID_UBUNTU_ATOMIC_H_ */
3037
3038=== removed file '3rd_party/android-deps/std/properties.h'
3039--- 3rd_party/android-deps/std/properties.h 2013-08-28 03:41:48 +0000
3040+++ 3rd_party/android-deps/std/properties.h 1970-01-01 00:00:00 +0000
3041@@ -1,54 +0,0 @@
3042-/*
3043- * Copyright © 2013 Canonical Ltd.
3044- *
3045- * This program is free software: you can redistribute it and/or modify it
3046- * under the terms of the GNU Lesser General Public License version 3,
3047- * as published by the Free Software Foundation.
3048- *
3049- * This program is distributed in the hope that it will be useful,
3050- * but WITHOUT ANY WARRANTY; without even the implied warranty of
3051- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3052- * GNU General Public License for more details.
3053- *
3054- * You should have received a copy of the GNU Lesser General Public License
3055- * along with this program. If not, see <http://www.gnu.org/licenses/>.
3056- *
3057- * Authored by: Alan Griffiths <alan@octopull.co.uk>
3058- */
3059-
3060-
3061-#ifndef MIR_ANDROID_UBUNTU_PROPERTIES_H_
3062-#define MIR_ANDROID_UBUNTU_PROPERTIES_H_
3063-
3064-#include <cstring>
3065-
3066-#define PROPERTY_VALUE_MAX 92
3067-
3068-namespace mir_input
3069-{
3070-inline int property_get(const char *key, char *value, const char *default_value)
3071-{
3072- int len = -1;
3073- if (default_value != NULL) {
3074- strcpy(value, default_value);
3075- len = strlen(value);
3076- } else {
3077- /*
3078- * If the value isn't defined, hand back an empty string and
3079- * a zero length, rather than a failure. This seems wrong,
3080- * since you can't tell the difference between "undefined" and
3081- * "defined but empty", but it's what the device does.
3082- */
3083- value[0] = '\0';
3084- len = 0;
3085- }
3086- return len;
3087-}
3088-}
3089-
3090-namespace android
3091-{
3092-using ::mir_input::property_get;
3093-}
3094-
3095-#endif /* MIR_ANDROID_UBUNTU_PROPERTIES_H_ */
3096
3097=== removed directory '3rd_party/android-deps/utils'
3098=== removed file '3rd_party/android-deps/utils/KeyedVector.h'
3099--- 3rd_party/android-deps/utils/KeyedVector.h 2016-01-29 08:18:22 +0000
3100+++ 3rd_party/android-deps/utils/KeyedVector.h 1970-01-01 00:00:00 +0000
3101@@ -1,170 +0,0 @@
3102-/*
3103- * Copyright (C) 2005 The Android Open Source Project
3104- *
3105- * Licensed under the Apache License, Version 2.0 (the "License");
3106- * you may not use this file except in compliance with the License.
3107- * You may obtain a copy of the License at
3108- *
3109- * http://www.apache.org/licenses/LICENSE-2.0
3110- *
3111- * Unless required by applicable law or agreed to in writing, software
3112- * distributed under the License is distributed on an "AS IS" BASIS,
3113- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3114- * See the License for the specific language governing permissions and
3115- * limitations under the License.
3116- */
3117-
3118-#ifndef ANDROID_KEYED_VECTOR_H
3119-#define ANDROID_KEYED_VECTOR_H
3120-
3121-#include <assert.h>
3122-#include <stdint.h>
3123-#include <sys/types.h>
3124-
3125-#include <std/SortedVector.h>
3126-#include <std/TypeHelpers.h>
3127-#include <std/Errors.h>
3128-
3129-// ---------------------------------------------------------------------------
3130-
3131-namespace android {
3132-
3133-template <typename KEY, typename VALUE>
3134-class KeyedVector
3135-{
3136-public:
3137- typedef KEY key_type;
3138- typedef VALUE value_type;
3139-
3140- inline KeyedVector();
3141-
3142- /*
3143- * empty the vector
3144- */
3145-
3146- inline void clear() { mVector.clear(); }
3147-
3148- /*!
3149- * vector stats
3150- */
3151-
3152- //! returns number of items in the vector
3153- inline size_t size() const { return mVector.size(); }
3154- //! returns wether or not the vector is empty
3155- inline bool isEmpty() const { return mVector.isEmpty(); }
3156- //! returns how many items can be stored without reallocating the backing store
3157- inline size_t capacity() const { return mVector.capacity(); }
3158- //! setst the capacity. capacity can never be reduced less than size()
3159- inline ssize_t setCapacity(size_t size) { return mVector.setCapacity(size); }
3160-
3161- /*!
3162- * accessors
3163- */
3164- const VALUE& valueFor(const KEY& key) const;
3165- const VALUE& valueAt(size_t index) const;
3166- const KEY& keyAt(size_t index) const;
3167- ssize_t indexOfKey(const KEY& key) const;
3168-
3169- /*!
3170- * modifying the array
3171- */
3172-
3173- VALUE& editValueFor(const KEY& key);
3174- VALUE& editValueAt(size_t index);
3175-
3176- /*!
3177- * add/insert/replace items
3178- */
3179-
3180- ssize_t add(const KEY& key, const VALUE& item);
3181- ssize_t replaceValueFor(const KEY& key, const VALUE& item);
3182- ssize_t replaceValueAt(size_t index, const VALUE& item);
3183-
3184- /*!
3185- * remove items
3186- */
3187-
3188- ssize_t removeItem(const KEY& key);
3189- ssize_t removeItemsAt(size_t index, size_t count = 1);
3190-
3191-private:
3192- SortedVector< key_value_pair_t<KEY, VALUE> > mVector;
3193-};
3194-
3195-// ---------------------------------------------------------------------------
3196-
3197-template<typename KEY, typename VALUE> inline
3198-KeyedVector<KEY,VALUE>::KeyedVector()
3199-{
3200-}
3201-
3202-template<typename KEY, typename VALUE> inline
3203-ssize_t KeyedVector<KEY,VALUE>::indexOfKey(const KEY& key) const {
3204- return mVector.indexOf( key_value_pair_t<KEY,VALUE>(key) );
3205-}
3206-
3207-template<typename KEY, typename VALUE> inline
3208-const VALUE& KeyedVector<KEY,VALUE>::valueFor(const KEY& key) const {
3209- ssize_t i = this->indexOfKey(key);
3210- assert(i>=0);
3211- return mVector.itemAt(i).value;
3212-}
3213-
3214-template<typename KEY, typename VALUE> inline
3215-const VALUE& KeyedVector<KEY,VALUE>::valueAt(size_t index) const {
3216- return mVector.itemAt(index).value;
3217-}
3218-
3219-template<typename KEY, typename VALUE> inline
3220-const KEY& KeyedVector<KEY,VALUE>::keyAt(size_t index) const {
3221- return mVector.itemAt(index).key;
3222-}
3223-
3224-template<typename KEY, typename VALUE> inline
3225-VALUE& KeyedVector<KEY,VALUE>::editValueFor(const KEY& key) {
3226- ssize_t i = this->indexOfKey(key);
3227- assert(i>=0);
3228- return mVector.editItemAt(i).value;
3229-}
3230-
3231-template<typename KEY, typename VALUE> inline
3232-VALUE& KeyedVector<KEY,VALUE>::editValueAt(size_t index) {
3233- return mVector.editItemAt(index).value;
3234-}
3235-
3236-template<typename KEY, typename VALUE> inline
3237-ssize_t KeyedVector<KEY,VALUE>::add(const KEY& key, const VALUE& value) {
3238- return mVector.add( key_value_pair_t<KEY,VALUE>(key, value) );
3239-}
3240-
3241-template<typename KEY, typename VALUE> inline
3242-ssize_t KeyedVector<KEY,VALUE>::replaceValueFor(const KEY& key, const VALUE& value) {
3243- key_value_pair_t<KEY,VALUE> pair(key, value);
3244- mVector.remove(pair);
3245- return mVector.add(pair);
3246-}
3247-
3248-template<typename KEY, typename VALUE> inline
3249-ssize_t KeyedVector<KEY,VALUE>::replaceValueAt(size_t index, const VALUE& item) {
3250- if (index<size()) {
3251- mVector.editItemAt(index).value = item;
3252- return index;
3253- }
3254- return BAD_INDEX;
3255-}
3256-
3257-template<typename KEY, typename VALUE> inline
3258-ssize_t KeyedVector<KEY,VALUE>::removeItem(const KEY& key) {
3259- return mVector.remove(key_value_pair_t<KEY,VALUE>(key));
3260-}
3261-
3262-template<typename KEY, typename VALUE> inline
3263-ssize_t KeyedVector<KEY, VALUE>::removeItemsAt(size_t index, size_t count) {
3264- return mVector.removeItemsAt(index, count);
3265-}
3266-
3267-} // namespace android
3268-
3269-// ---------------------------------------------------------------------------
3270-
3271-#endif // ANDROID_KEYED_VECTOR_H
3272
3273=== removed file '3rd_party/android-deps/utils/RefBase.h'
3274--- 3rd_party/android-deps/utils/RefBase.h 2016-01-29 08:18:22 +0000
3275+++ 3rd_party/android-deps/utils/RefBase.h 1970-01-01 00:00:00 +0000
3276@@ -1,413 +0,0 @@
3277-/*
3278- * Copyright (C) 2005 The Android Open Source Project
3279- *
3280- * Licensed under the Apache License, Version 2.0 (the "License");
3281- * you may not use this file except in compliance with the License.
3282- * You may obtain a copy of the License at
3283- *
3284- * http://www.apache.org/licenses/LICENSE-2.0
3285- *
3286- * Unless required by applicable law or agreed to in writing, software
3287- * distributed under the License is distributed on an "AS IS" BASIS,
3288- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3289- * See the License for the specific language governing permissions and
3290- * limitations under the License.
3291- */
3292-
3293-#ifndef ANDROID_REF_BASE_H
3294-#define ANDROID_REF_BASE_H
3295-
3296-
3297-#include <std/atomic.h>
3298-
3299-#include <stdint.h>
3300-#include <sys/types.h>
3301-#include <stdlib.h>
3302-#include <string.h>
3303-
3304-#include <std/StrongPointer.h>
3305-#include <std/TypeHelpers.h>
3306-
3307-// ---------------------------------------------------------------------------
3308-namespace android {
3309-
3310-// ---------------------------------------------------------------------------
3311-
3312-#define COMPARE_WEAK(_op_) \
3313-inline bool operator _op_ (const sp<T>& o) const { \
3314- return m_ptr _op_ o.m_ptr; \
3315-} \
3316-inline bool operator _op_ (const T* o) const { \
3317- return m_ptr _op_ o; \
3318-} \
3319-template<typename U> \
3320-inline bool operator _op_ (const sp<U>& o) const { \
3321- return m_ptr _op_ o.m_ptr; \
3322-} \
3323-template<typename U> \
3324-inline bool operator _op_ (const U* o) const { \
3325- return m_ptr _op_ o; \
3326-}
3327-
3328-// ---------------------------------------------------------------------------
3329-class ReferenceMover;
3330-class ReferenceConverterBase {
3331-public:
3332- virtual size_t getReferenceTypeSize() const = 0;
3333- virtual void* getReferenceBase(void const*) const = 0;
3334- inline virtual ~ReferenceConverterBase() { }
3335-};
3336-
3337-// ---------------------------------------------------------------------------
3338-
3339-class RefBase
3340-{
3341-public:
3342- void incStrong(const void* id) const;
3343- void decStrong(const void* id) const;
3344-
3345- void forceIncStrong(const void* id) const;
3346-
3347- //! DEBUGGING ONLY: Get current strong ref count.
3348- int32_t getStrongCount() const;
3349-
3350- class weakref_type
3351- {
3352- public:
3353- RefBase* refBase() const;
3354-
3355- void incWeak(const void* id);
3356- void decWeak(const void* id);
3357-
3358- // acquires a strong reference if there is already one.
3359- bool attemptIncStrong(const void* id);
3360-
3361- // acquires a weak reference if there is already one.
3362- // This is not always safe. see ProcessState.cpp and BpBinder.cpp
3363- // for proper use.
3364- bool attemptIncWeak(const void* id);
3365-
3366- //! DEBUGGING ONLY: Get current weak ref count.
3367- int32_t getWeakCount() const;
3368-
3369- //! DEBUGGING ONLY: Print references held on object.
3370- void printRefs() const;
3371-
3372- //! DEBUGGING ONLY: Enable tracking for this object.
3373- // enable -- enable/disable tracking
3374- // retain -- when tracking is enable, if true, then we save a stack trace
3375- // for each reference and dereference; when retain == false, we
3376- // match up references and dereferences and keep only the
3377- // outstanding ones.
3378-
3379- void trackMe(bool enable, bool retain);
3380- };
3381-
3382- weakref_type* createWeak(const void* id) const;
3383-
3384- weakref_type* getWeakRefs() const;
3385-
3386- //! DEBUGGING ONLY: Print references held on object.
3387- inline void printRefs() const { getWeakRefs()->printRefs(); }
3388-
3389- //! DEBUGGING ONLY: Enable tracking of object.
3390- inline void trackMe(bool enable, bool retain)
3391- {
3392- getWeakRefs()->trackMe(enable, retain);
3393- }
3394-
3395- typedef RefBase basetype;
3396-
3397-protected:
3398- RefBase();
3399- virtual ~RefBase();
3400-
3401- //! Flags for extendObjectLifetime()
3402- enum {
3403- OBJECT_LIFETIME_STRONG = 0x0000,
3404- OBJECT_LIFETIME_WEAK = 0x0001,
3405- OBJECT_LIFETIME_MASK = 0x0001
3406- };
3407-
3408- void extendObjectLifetime(int32_t mode);
3409-
3410- //! Flags for onIncStrongAttempted()
3411- enum {
3412- FIRST_INC_STRONG = 0x0001
3413- };
3414-
3415- virtual void onFirstRef();
3416- virtual void onLastStrongRef(const void* id);
3417- virtual bool onIncStrongAttempted(uint32_t flags, const void* id);
3418- virtual void onLastWeakRef(const void* id);
3419-
3420-private:
3421- friend class ReferenceMover;
3422- static void moveReferences(void* d, void const* s, size_t n,
3423- const ReferenceConverterBase& caster);
3424-
3425-private:
3426- friend class weakref_type;
3427- class weakref_impl;
3428-
3429- RefBase(const RefBase& o);
3430- RefBase& operator=(const RefBase& o);
3431-
3432- weakref_impl* const mRefs;
3433-};
3434-
3435-// ---------------------------------------------------------------------------
3436-
3437-template <typename T>
3438-class wp
3439-{
3440-public:
3441- typedef typename RefBase::weakref_type weakref_type;
3442-
3443- inline wp() : m_ptr(0) { }
3444-
3445- wp(T* other);
3446- wp(const wp<T>& other);
3447- wp(const sp<T>& other);
3448- template<typename U> wp(U* other);
3449- template<typename U> wp(const sp<U>& other);
3450- template<typename U> wp(const wp<U>& other);
3451-
3452- ~wp();
3453-
3454- // Assignment
3455-
3456- wp& operator = (T* other);
3457- wp& operator = (const wp<T>& other);
3458- wp& operator = (const sp<T>& other);
3459-
3460- template<typename U> wp& operator = (U* other);
3461- template<typename U> wp& operator = (const wp<U>& other);
3462- template<typename U> wp& operator = (const sp<U>& other);
3463-
3464- void set_object_and_refs(T* other, weakref_type* refs);
3465-
3466- // promotion to sp
3467-
3468- sp<T> promote() const;
3469-
3470- // Reset
3471-
3472- void clear();
3473-
3474- // Accessors
3475-
3476- inline weakref_type* get_refs() const { return m_refs; }
3477-
3478- inline T* unsafe_get() const { return m_ptr; }
3479-
3480- // Operators
3481-
3482- COMPARE_WEAK(==)
3483- COMPARE_WEAK(!=)
3484- COMPARE_WEAK(>)
3485- COMPARE_WEAK(<)
3486- COMPARE_WEAK(<=)
3487- COMPARE_WEAK(>=)
3488-
3489- inline bool operator == (const wp<T>& o) const {
3490- return (m_ptr == o.m_ptr) && (m_refs == o.m_refs);
3491- }
3492- template<typename U>
3493- inline bool operator == (const wp<U>& o) const {
3494- return m_ptr == o.m_ptr;
3495- }
3496-
3497- inline bool operator > (const wp<T>& o) const {
3498- return (m_ptr == o.m_ptr) ? (m_refs > o.m_refs) : (m_ptr > o.m_ptr);
3499- }
3500- template<typename U>
3501- inline bool operator > (const wp<U>& o) const {
3502- return (m_ptr == o.m_ptr) ? (m_refs > o.m_refs) : (m_ptr > o.m_ptr);
3503- }
3504-
3505- inline bool operator < (const wp<T>& o) const {
3506- return (m_ptr == o.m_ptr) ? (m_refs < o.m_refs) : (m_ptr < o.m_ptr);
3507- }
3508- template<typename U>
3509- inline bool operator < (const wp<U>& o) const {
3510- return (m_ptr == o.m_ptr) ? (m_refs < o.m_refs) : (m_ptr < o.m_ptr);
3511- }
3512- inline bool operator != (const wp<T>& o) const { return m_refs != o.m_refs; }
3513- template<typename U> inline bool operator != (const wp<U>& o) const { return !operator == (o); }
3514- inline bool operator <= (const wp<T>& o) const { return !operator > (o); }
3515- template<typename U> inline bool operator <= (const wp<U>& o) const { return !operator > (o); }
3516- inline bool operator >= (const wp<T>& o) const { return !operator < (o); }
3517- template<typename U> inline bool operator >= (const wp<U>& o) const { return !operator < (o); }
3518-
3519-private:
3520- template<typename Y> friend class sp;
3521- template<typename Y> friend class wp;
3522-
3523- T* m_ptr;
3524- weakref_type* m_refs;
3525-};
3526-
3527-#undef COMPARE_WEAK
3528-
3529-// ---------------------------------------------------------------------------
3530-// No user serviceable parts below here.
3531-
3532-template<typename T>
3533-wp<T>::wp(T* other)
3534- : m_ptr(other)
3535-{
3536- if (other) m_refs = other->createWeak(this);
3537-}
3538-
3539-template<typename T>
3540-wp<T>::wp(const wp<T>& other)
3541- : m_ptr(other.m_ptr), m_refs(other.m_refs)
3542-{
3543- if (m_ptr) m_refs->incWeak(this);
3544-}
3545-
3546-template<typename T>
3547-wp<T>::wp(const sp<T>& other)
3548- : m_ptr(other.m_ptr)
3549-{
3550- if (m_ptr) {
3551- m_refs = m_ptr->createWeak(this);
3552- }
3553-}
3554-
3555-template<typename T> template<typename U>
3556-wp<T>::wp(U* other)
3557- : m_ptr(other)
3558-{
3559- if (other) m_refs = other->createWeak(this);
3560-}
3561-
3562-template<typename T> template<typename U>
3563-wp<T>::wp(const wp<U>& other)
3564- : m_ptr(other.m_ptr)
3565-{
3566- if (m_ptr) {
3567- m_refs = other.m_refs;
3568- m_refs->incWeak(this);
3569- }
3570-}
3571-
3572-template<typename T> template<typename U>
3573-wp<T>::wp(const sp<U>& other)
3574- : m_ptr(other.m_ptr)
3575-{
3576- if (m_ptr) {
3577- m_refs = m_ptr->createWeak(this);
3578- }
3579-}
3580-
3581-template<typename T>
3582-wp<T>::~wp()
3583-{
3584- if (m_ptr) m_refs->decWeak(this);
3585-}
3586-
3587-template<typename T>
3588-wp<T>& wp<T>::operator = (T* other)
3589-{
3590- weakref_type* newRefs =
3591- other ? other->createWeak(this) : 0;
3592- if (m_ptr) m_refs->decWeak(this);
3593- m_ptr = other;
3594- m_refs = newRefs;
3595- return *this;
3596-}
3597-
3598-template<typename T>
3599-wp<T>& wp<T>::operator = (const wp<T>& other)
3600-{
3601- weakref_type* otherRefs(other.m_refs);
3602- T* otherPtr(other.m_ptr);
3603- if (otherPtr) otherRefs->incWeak(this);
3604- if (m_ptr) m_refs->decWeak(this);
3605- m_ptr = otherPtr;
3606- m_refs = otherRefs;
3607- return *this;
3608-}
3609-
3610-template<typename T>
3611-wp<T>& wp<T>::operator = (const sp<T>& other)
3612-{
3613- weakref_type* newRefs =
3614- other != NULL ? other->createWeak(this) : 0;
3615- T* otherPtr(other.m_ptr);
3616- if (m_ptr) m_refs->decWeak(this);
3617- m_ptr = otherPtr;
3618- m_refs = newRefs;
3619- return *this;
3620-}
3621-
3622-template<typename T> template<typename U>
3623-wp<T>& wp<T>::operator = (U* other)
3624-{
3625- weakref_type* newRefs =
3626- other ? other->createWeak(this) : 0;
3627- if (m_ptr) m_refs->decWeak(this);
3628- m_ptr = other;
3629- m_refs = newRefs;
3630- return *this;
3631-}
3632-
3633-template<typename T> template<typename U>
3634-wp<T>& wp<T>::operator = (const wp<U>& other)
3635-{
3636- weakref_type* otherRefs(other.m_refs);
3637- U* otherPtr(other.m_ptr);
3638- if (otherPtr) otherRefs->incWeak(this);
3639- if (m_ptr) m_refs->decWeak(this);
3640- m_ptr = otherPtr;
3641- m_refs = otherRefs;
3642- return *this;
3643-}
3644-
3645-template<typename T> template<typename U>
3646-wp<T>& wp<T>::operator = (const sp<U>& other)
3647-{
3648- weakref_type* newRefs =
3649- other != NULL ? other->createWeak(this) : 0;
3650- U* otherPtr(other.m_ptr);
3651- if (m_ptr) m_refs->decWeak(this);
3652- m_ptr = otherPtr;
3653- m_refs = newRefs;
3654- return *this;
3655-}
3656-
3657-template<typename T>
3658-void wp<T>::set_object_and_refs(T* other, weakref_type* refs)
3659-{
3660- if (other) refs->incWeak(this);
3661- if (m_ptr) m_refs->decWeak(this);
3662- m_ptr = other;
3663- m_refs = refs;
3664-}
3665-
3666-template<typename T>
3667-sp<T> wp<T>::promote() const
3668-{
3669- sp<T> result;
3670- if (m_ptr && m_refs->attemptIncStrong(&result)) {
3671- result.set_pointer(m_ptr);
3672- }
3673- return result;
3674-}
3675-
3676-template<typename T>
3677-void wp<T>::clear()
3678-{
3679- if (m_ptr) {
3680- m_refs->decWeak(this);
3681- m_ptr = 0;
3682- }
3683-}
3684-
3685-} // namespace android
3686-
3687-// ---------------------------------------------------------------------------
3688-
3689-#endif // ANDROID_REF_BASE_H
3690
3691=== removed file '3rd_party/android-deps/utils/SharedBuffer.h'
3692--- 3rd_party/android-deps/utils/SharedBuffer.h 2013-03-13 04:54:15 +0000
3693+++ 3rd_party/android-deps/utils/SharedBuffer.h 1970-01-01 00:00:00 +0000
3694@@ -1,146 +0,0 @@
3695-/*
3696- * Copyright (C) 2005 The Android Open Source Project
3697- *
3698- * Licensed under the Apache License, Version 2.0 (the "License");
3699- * you may not use this file except in compliance with the License.
3700- * You may obtain a copy of the License at
3701- *
3702- * http://www.apache.org/licenses/LICENSE-2.0
3703- *
3704- * Unless required by applicable law or agreed to in writing, software
3705- * distributed under the License is distributed on an "AS IS" BASIS,
3706- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3707- * See the License for the specific language governing permissions and
3708- * limitations under the License.
3709- */
3710-
3711-#ifndef ANDROID_SHARED_BUFFER_H
3712-#define ANDROID_SHARED_BUFFER_H
3713-
3714-#include <stdint.h>
3715-#include <sys/types.h>
3716-
3717-// ---------------------------------------------------------------------------
3718-
3719-namespace android {
3720-
3721-class SharedBuffer
3722-{
3723-public:
3724-
3725- /* flags to use with release() */
3726- enum {
3727- eKeepStorage = 0x00000001
3728- };
3729-
3730- /*! allocate a buffer of size 'size' and acquire() it.
3731- * call release() to free it.
3732- */
3733- static SharedBuffer* alloc(size_t size);
3734-
3735- /*! free the memory associated with the SharedBuffer.
3736- * Fails if there are any users associated with this SharedBuffer.
3737- * In other words, the buffer must have been release by all its
3738- * users.
3739- */
3740- static ssize_t dealloc(const SharedBuffer* released);
3741-
3742- //! get the SharedBuffer from the data pointer
3743- static inline const SharedBuffer* sharedBuffer(const void* data);
3744-
3745- //! access the data for read
3746- inline const void* data() const;
3747-
3748- //! access the data for read/write
3749- inline void* data();
3750-
3751- //! get size of the buffer
3752- inline size_t size() const;
3753-
3754- //! get back a SharedBuffer object from its data
3755- static inline SharedBuffer* bufferFromData(void* data);
3756-
3757- //! get back a SharedBuffer object from its data
3758- static inline const SharedBuffer* bufferFromData(const void* data);
3759-
3760- //! get the size of a SharedBuffer object from its data
3761- static inline size_t sizeFromData(const void* data);
3762-
3763- //! edit the buffer (get a writtable, or non-const, version of it)
3764- SharedBuffer* edit() const;
3765-
3766- //! edit the buffer, resizing if needed
3767- SharedBuffer* editResize(size_t size) const;
3768-
3769- //! like edit() but fails if a copy is required
3770- SharedBuffer* attemptEdit() const;
3771-
3772- //! resize and edit the buffer, loose it's content.
3773- SharedBuffer* reset(size_t size) const;
3774-
3775- //! acquire/release a reference on this buffer
3776- void acquire() const;
3777-
3778- /*! release a reference on this buffer, with the option of not
3779- * freeing the memory associated with it if it was the last reference
3780- * returns the previous reference count
3781- */
3782- int32_t release(uint32_t flags = 0) const;
3783-
3784- //! returns wether or not we're the only owner
3785- inline bool onlyOwner() const;
3786-
3787-
3788-private:
3789- inline SharedBuffer() { }
3790- inline ~SharedBuffer() { }
3791- inline SharedBuffer(const SharedBuffer&);
3792-
3793- // 16 bytes. must be sized to preserve correct alingment.
3794- mutable int32_t mRefs;
3795- size_t mSize;
3796- uint32_t mReserved[2];
3797-};
3798-
3799-// ---------------------------------------------------------------------------
3800-
3801-const SharedBuffer* SharedBuffer::sharedBuffer(const void* data) {
3802- return data ? reinterpret_cast<const SharedBuffer *>(data)-1 : 0;
3803-}
3804-
3805-const void* SharedBuffer::data() const {
3806- return this + 1;
3807-}
3808-
3809-void* SharedBuffer::data() {
3810- return this + 1;
3811-}
3812-
3813-size_t SharedBuffer::size() const {
3814- return mSize;
3815-}
3816-
3817-SharedBuffer* SharedBuffer::bufferFromData(void* data)
3818-{
3819- return ((SharedBuffer*)data)-1;
3820-}
3821-
3822-const SharedBuffer* SharedBuffer::bufferFromData(const void* data)
3823-{
3824- return ((const SharedBuffer*)data)-1;
3825-}
3826-
3827-size_t SharedBuffer::sizeFromData(const void* data)
3828-{
3829- return (((const SharedBuffer*)data)-1)->mSize;
3830-}
3831-
3832-bool SharedBuffer::onlyOwner() const {
3833- return (mRefs == 1);
3834-}
3835-
3836-} // namespace android
3837-
3838-// ---------------------------------------------------------------------------
3839-
3840-#endif // ANDROID_VECTOR_H
3841
3842=== removed file '3rd_party/android-deps/utils/String16.h'
3843--- 3rd_party/android-deps/utils/String16.h 2016-01-29 08:18:22 +0000
3844+++ 3rd_party/android-deps/utils/String16.h 1970-01-01 00:00:00 +0000
3845@@ -1,241 +0,0 @@
3846-/*
3847- * Copyright (C) 2005 The Android Open Source Project
3848- *
3849- * Licensed under the Apache License, Version 2.0 (the "License");
3850- * you may not use this file except in compliance with the License.
3851- * You may obtain a copy of the License at
3852- *
3853- * http://www.apache.org/licenses/LICENSE-2.0
3854- *
3855- * Unless required by applicable law or agreed to in writing, software
3856- * distributed under the License is distributed on an "AS IS" BASIS,
3857- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3858- * See the License for the specific language governing permissions and
3859- * limitations under the License.
3860- */
3861-
3862-#ifndef ANDROID_STRING16_H
3863-#define ANDROID_STRING16_H
3864-
3865-
3866-#include <std/Errors.h>
3867-#include <std/SharedBuffer.h>
3868-#include <std/Unicode.h>
3869-#include <std/TypeHelpers.h>
3870-
3871-// ---------------------------------------------------------------------------
3872-
3873-extern "C" {
3874-
3875-}
3876-
3877-// ---------------------------------------------------------------------------
3878-
3879-namespace android {
3880-
3881-// ---------------------------------------------------------------------------
3882-
3883-class String8;
3884-
3885-//! This is a string holding UTF-16 characters.
3886-class String16
3887-{
3888-public:
3889- String16();
3890- String16(const String16& o);
3891- String16(const String16& o,
3892- size_t len,
3893- size_t begin=0);
3894- explicit String16(const char16_t* o);
3895- explicit String16(const char16_t* o, size_t len);
3896- explicit String16(const String8& o);
3897- explicit String16(const char* o);
3898- explicit String16(const char* o, size_t len);
3899-
3900- ~String16();
3901-
3902- inline const char16_t* string() const;
3903- inline size_t size() const;
3904-
3905- inline const SharedBuffer* sharedBuffer() const;
3906-
3907- void setTo(const String16& other);
3908- status_t setTo(const char16_t* other);
3909- status_t setTo(const char16_t* other, size_t len);
3910- status_t setTo(const String16& other,
3911- size_t len,
3912- size_t begin=0);
3913-
3914- status_t append(const String16& other);
3915- status_t append(const char16_t* other, size_t len);
3916-
3917- inline String16& operator=(const String16& other);
3918-
3919- inline String16& operator+=(const String16& other);
3920- inline String16 operator+(const String16& other) const;
3921-
3922- status_t insert(size_t pos, const char16_t* chrs);
3923- status_t insert(size_t pos,
3924- const char16_t* chrs, size_t len);
3925-
3926- ssize_t findFirst(char16_t c) const;
3927- ssize_t findLast(char16_t c) const;
3928-
3929- bool startsWith(const String16& prefix) const;
3930- bool startsWith(const char16_t* prefix) const;
3931-
3932- status_t makeLower();
3933-
3934- status_t replaceAll(char16_t replaceThis,
3935- char16_t withThis);
3936-
3937- status_t remove(size_t len, size_t begin=0);
3938-
3939- inline int compare(const String16& other) const;
3940-
3941- inline bool operator<(const String16& other) const;
3942- inline bool operator<=(const String16& other) const;
3943- inline bool operator==(const String16& other) const;
3944- inline bool operator!=(const String16& other) const;
3945- inline bool operator>=(const String16& other) const;
3946- inline bool operator>(const String16& other) const;
3947-
3948- inline bool operator<(const char16_t* other) const;
3949- inline bool operator<=(const char16_t* other) const;
3950- inline bool operator==(const char16_t* other) const;
3951- inline bool operator!=(const char16_t* other) const;
3952- inline bool operator>=(const char16_t* other) const;
3953- inline bool operator>(const char16_t* other) const;
3954-
3955- inline operator const char16_t*() const;
3956-
3957-private:
3958- const char16_t* mString;
3959-};
3960-
3961-// String16 can be trivially moved using memcpy() because moving does not
3962-// require any change to the underlying SharedBuffer contents or reference count.
3963-ANDROID_TRIVIAL_MOVE_TRAIT(String16)
3964-
3965-// ---------------------------------------------------------------------------
3966-// No user servicable parts below.
3967-
3968-inline int compare_type(const String16& lhs, const String16& rhs)
3969-{
3970- return lhs.compare(rhs);
3971-}
3972-
3973-inline int strictly_order_type(const String16& lhs, const String16& rhs)
3974-{
3975- return compare_type(lhs, rhs) < 0;
3976-}
3977-
3978-inline const char16_t* String16::string() const
3979-{
3980- return mString;
3981-}
3982-
3983-inline size_t String16::size() const
3984-{
3985- return SharedBuffer::sizeFromData(mString)/sizeof(char16_t)-1;
3986-}
3987-
3988-inline const SharedBuffer* String16::sharedBuffer() const
3989-{
3990- return SharedBuffer::bufferFromData(mString);
3991-}
3992-
3993-inline String16& String16::operator=(const String16& other)
3994-{
3995- setTo(other);
3996- return *this;
3997-}
3998-
3999-inline String16& String16::operator+=(const String16& other)
4000-{
4001- append(other);
4002- return *this;
4003-}
4004-
4005-inline String16 String16::operator+(const String16& other) const
4006-{
4007- String16 tmp(*this);
4008- tmp += other;
4009- return tmp;
4010-}
4011-
4012-inline int String16::compare(const String16& other) const
4013-{
4014- return strzcmp16(mString, size(), other.mString, other.size());
4015-}
4016-
4017-inline bool String16::operator<(const String16& other) const
4018-{
4019- return strzcmp16(mString, size(), other.mString, other.size()) < 0;
4020-}
4021-
4022-inline bool String16::operator<=(const String16& other) const
4023-{
4024- return strzcmp16(mString, size(), other.mString, other.size()) <= 0;
4025-}
4026-
4027-inline bool String16::operator==(const String16& other) const
4028-{
4029- return strzcmp16(mString, size(), other.mString, other.size()) == 0;
4030-}
4031-
4032-inline bool String16::operator!=(const String16& other) const
4033-{
4034- return strzcmp16(mString, size(), other.mString, other.size()) != 0;
4035-}
4036-
4037-inline bool String16::operator>=(const String16& other) const
4038-{
4039- return strzcmp16(mString, size(), other.mString, other.size()) >= 0;
4040-}
4041-
4042-inline bool String16::operator>(const String16& other) const
4043-{
4044- return strzcmp16(mString, size(), other.mString, other.size()) > 0;
4045-}
4046-
4047-inline bool String16::operator<(const char16_t* other) const
4048-{
4049- return strcmp16(mString, other) < 0;
4050-}
4051-
4052-inline bool String16::operator<=(const char16_t* other) const
4053-{
4054- return strcmp16(mString, other) <= 0;
4055-}
4056-
4057-inline bool String16::operator==(const char16_t* other) const
4058-{
4059- return strcmp16(mString, other) == 0;
4060-}
4061-
4062-inline bool String16::operator!=(const char16_t* other) const
4063-{
4064- return strcmp16(mString, other) != 0;
4065-}
4066-
4067-inline bool String16::operator>=(const char16_t* other) const
4068-{
4069- return strcmp16(mString, other) >= 0;
4070-}
4071-
4072-inline bool String16::operator>(const char16_t* other) const
4073-{
4074- return strcmp16(mString, other) > 0;
4075-}
4076-
4077-inline String16::operator const char16_t*() const
4078-{
4079- return mString;
4080-}
4081-
4082-}; // namespace android
4083-
4084-// ---------------------------------------------------------------------------
4085-
4086-#endif // ANDROID_STRING16_H
4087
4088=== removed file '3rd_party/android-deps/utils/StrongPointer.h'
4089--- 3rd_party/android-deps/utils/StrongPointer.h 2016-01-29 08:18:22 +0000
4090+++ 3rd_party/android-deps/utils/StrongPointer.h 1970-01-01 00:00:00 +0000
4091@@ -1,199 +0,0 @@
4092-/*
4093- * Copyright (C) 2005 The Android Open Source Project
4094- *
4095- * Licensed under the Apache License, Version 2.0 (the "License");
4096- * you may not use this file except in compliance with the License.
4097- * You may obtain a copy of the License at
4098- *
4099- * http://www.apache.org/licenses/LICENSE-2.0
4100- *
4101- * Unless required by applicable law or agreed to in writing, software
4102- * distributed under the License is distributed on an "AS IS" BASIS,
4103- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4104- * See the License for the specific language governing permissions and
4105- * limitations under the License.
4106- */
4107-
4108-#ifndef ANDROID_STRONG_POINTER_H
4109-#define ANDROID_STRONG_POINTER_H
4110-
4111-
4112-#include <std/atomic.h>
4113-
4114-#include <stdint.h>
4115-#include <sys/types.h>
4116-#include <stdlib.h>
4117-
4118-// ---------------------------------------------------------------------------
4119-namespace android {
4120-
4121-template<typename T> class wp;
4122-
4123-// ---------------------------------------------------------------------------
4124-
4125-#define COMPARE(_op_) \
4126-inline bool operator _op_ (const sp<T>& o) const { \
4127- return m_ptr _op_ o.m_ptr; \
4128-} \
4129-inline bool operator _op_ (const T* o) const { \
4130- return m_ptr _op_ o; \
4131-} \
4132-template<typename U> \
4133-inline bool operator _op_ (const sp<U>& o) const { \
4134- return m_ptr _op_ o.m_ptr; \
4135-} \
4136-template<typename U> \
4137-inline bool operator _op_ (const U* o) const { \
4138- return m_ptr _op_ o; \
4139-} \
4140-inline bool operator _op_ (const wp<T>& o) const { \
4141- return m_ptr _op_ o.m_ptr; \
4142-} \
4143-template<typename U> \
4144-inline bool operator _op_ (const wp<U>& o) const { \
4145- return m_ptr _op_ o.m_ptr; \
4146-}
4147-
4148-// ---------------------------------------------------------------------------
4149-
4150-template <typename T>
4151-class sp
4152-{
4153-public:
4154- inline sp() : m_ptr(0) { }
4155-
4156- sp(T* other);
4157- sp(const sp<T>& other);
4158- template<typename U> sp(U* other);
4159- template<typename U> sp(const sp<U>& other);
4160-
4161- ~sp();
4162-
4163- // Assignment
4164-
4165- sp& operator = (T* other);
4166- sp& operator = (const sp<T>& other);
4167-
4168- template<typename U> sp& operator = (const sp<U>& other);
4169- template<typename U> sp& operator = (U* other);
4170-
4171- // Reset
4172-
4173- void clear();
4174-
4175- // Accessors
4176-
4177- inline T& operator* () const { return *m_ptr; }
4178- inline T* operator-> () const { return m_ptr; }
4179- inline T* get() const { return m_ptr; }
4180-
4181- // Operators
4182-
4183- COMPARE(==)
4184- COMPARE(!=)
4185- COMPARE(>)
4186- COMPARE(<)
4187- COMPARE(<=)
4188- COMPARE(>=)
4189-
4190-private:
4191- template<typename Y> friend class sp;
4192- template<typename Y> friend class wp;
4193- void set_pointer(T* ptr);
4194- T* m_ptr;
4195-};
4196-
4197-#undef COMPARE
4198-
4199-// ---------------------------------------------------------------------------
4200-// No user serviceable parts below here.
4201-
4202-template<typename T>
4203-sp<T>::sp(T* other)
4204-: m_ptr(other)
4205- {
4206- if (other) other->incStrong(this);
4207- }
4208-
4209-template<typename T>
4210-sp<T>::sp(const sp<T>& other)
4211-: m_ptr(other.m_ptr)
4212- {
4213- if (m_ptr) m_ptr->incStrong(this);
4214- }
4215-
4216-template<typename T> template<typename U>
4217-sp<T>::sp(U* other) : m_ptr(other)
4218-{
4219- if (other) ((T*)other)->incStrong(this);
4220-}
4221-
4222-template<typename T> template<typename U>
4223-sp<T>::sp(const sp<U>& other)
4224-: m_ptr(other.m_ptr)
4225- {
4226- if (m_ptr) m_ptr->incStrong(this);
4227- }
4228-
4229-template<typename T>
4230-sp<T>::~sp()
4231-{
4232- if (m_ptr) m_ptr->decStrong(this);
4233-}
4234-
4235-template<typename T>
4236-sp<T>& sp<T>::operator = (const sp<T>& other) {
4237- T* otherPtr(other.m_ptr);
4238- if (otherPtr) otherPtr->incStrong(this);
4239- if (m_ptr) m_ptr->decStrong(this);
4240- m_ptr = otherPtr;
4241- return *this;
4242-}
4243-
4244-template<typename T>
4245-sp<T>& sp<T>::operator = (T* other)
4246-{
4247- if (other) other->incStrong(this);
4248- if (m_ptr) m_ptr->decStrong(this);
4249- m_ptr = other;
4250- return *this;
4251-}
4252-
4253-template<typename T> template<typename U>
4254-sp<T>& sp<T>::operator = (const sp<U>& other)
4255-{
4256- T* otherPtr(other.m_ptr);
4257- if (otherPtr) otherPtr->incStrong(this);
4258- if (m_ptr) m_ptr->decStrong(this);
4259- m_ptr = otherPtr;
4260- return *this;
4261-}
4262-
4263-template<typename T> template<typename U>
4264-sp<T>& sp<T>::operator = (U* other)
4265-{
4266- if (other) ((T*)other)->incStrong(this);
4267- if (m_ptr) m_ptr->decStrong(this);
4268- m_ptr = other;
4269- return *this;
4270-}
4271-
4272-template<typename T>
4273-void sp<T>::clear()
4274-{
4275- if (m_ptr) {
4276- m_ptr->decStrong(this);
4277- m_ptr = 0;
4278- }
4279-}
4280-
4281-template<typename T>
4282-void sp<T>::set_pointer(T* ptr) {
4283- m_ptr = ptr;
4284-}
4285-
4286-} // namespace android
4287-
4288-// ---------------------------------------------------------------------------
4289-
4290-#endif // ANDROID_STRONG_POINTER_H
4291
4292=== removed file '3rd_party/android-deps/utils/Timers.h'
4293--- 3rd_party/android-deps/utils/Timers.h 2016-01-29 08:18:22 +0000
4294+++ 3rd_party/android-deps/utils/Timers.h 1970-01-01 00:00:00 +0000
4295@@ -1,65 +0,0 @@
4296-/*
4297- * Copyright (C) 2005 The Android Open Source Project
4298- *
4299- * Licensed under the Apache License, Version 2.0 (the "License");
4300- * you may not use this file except in compliance with the License.
4301- * You may obtain a copy of the License at
4302- *
4303- * http://www.apache.org/licenses/LICENSE-2.0
4304- *
4305- * Unless required by applicable law or agreed to in writing, software
4306- * distributed under the License is distributed on an "AS IS" BASIS,
4307- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4308- * See the License for the specific language governing permissions and
4309- * limitations under the License.
4310- */
4311-
4312-//
4313-// Timer functions.
4314-//
4315-#ifndef _LIBS_UTILS_TIMERS_H
4316-#define _LIBS_UTILS_TIMERS_H
4317-
4318-#include <stdint.h>
4319-#include <sys/types.h>
4320-#include <sys/time.h>
4321-#include <chrono>
4322-
4323-// ------------------------------------------------------------------
4324-// C API
4325-
4326-#ifdef __cplusplus
4327-extern "C" {
4328-#endif
4329-
4330-typedef int64_t nsecs_t;
4331-
4332-enum {
4333- SYSTEM_TIME_REALTIME = 0, // system-wide realtime clock
4334- SYSTEM_TIME_MONOTONIC = 1, // monotonic time since unspecified starting point
4335- SYSTEM_TIME_PROCESS = 2, // high-resolution per-process clock
4336- SYSTEM_TIME_THREAD = 3 // high-resolution per-thread clock
4337-};
4338-
4339-// return the system-time according to the specified clock
4340-#ifdef __cplusplus
4341-std::chrono::nanoseconds systemTime(int clock = SYSTEM_TIME_MONOTONIC);
4342-#else
4343-std::chrono::nanoseconds systemTime(int clock);
4344-#endif // def __cplusplus
4345-
4346-/**
4347- * Returns the number of milliseconds to wait between the reference time and the timeout time.
4348- * If the timeout is in the past relative to the reference time, returns 0.
4349- * If the timeout is more than INT_MAX milliseconds in the future relative to the reference time,
4350- * such as when timeoutTime == LLONG_MAX, returns -1 to indicate an infinite timeout delay.
4351- * Otherwise, returns the difference between the reference time and timeout time
4352- * rounded up to the next millisecond.
4353- */
4354-int toMillisecondTimeoutDelay(std::chrono::nanoseconds referenceTime, std::chrono::nanoseconds timeoutTime);
4355-
4356-#ifdef __cplusplus
4357-} // extern "C"
4358-#endif
4359-
4360-#endif // _LIBS_UTILS_TIMERS_H
4361
4362=== removed file '3rd_party/android-deps/utils/TypeHelpers.h'
4363--- 3rd_party/android-deps/utils/TypeHelpers.h 2016-01-29 08:18:22 +0000
4364+++ 3rd_party/android-deps/utils/TypeHelpers.h 1970-01-01 00:00:00 +0000
4365@@ -1,79 +0,0 @@
4366-/*
4367- * Copyright (C) 2005 The Android Open Source Project
4368- *
4369- * Licensed under the Apache License, Version 2.0 (the "License");
4370- * you may not use this file except in compliance with the License.
4371- * You may obtain a copy of the License at
4372- *
4373- * http://www.apache.org/licenses/LICENSE-2.0
4374- *
4375- * Unless required by applicable law or agreed to in writing, software
4376- * distributed under the License is distributed on an "AS IS" BASIS,
4377- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4378- * See the License for the specific language governing permissions and
4379- * limitations under the License.
4380- */
4381-
4382-#ifndef ANDROID_TYPE_HELPERS_H
4383-#define ANDROID_TYPE_HELPERS_H
4384-
4385-#include <new>
4386-#include <stdint.h>
4387-#include <string.h>
4388-#include <sys/types.h>
4389-
4390-// ---------------------------------------------------------------------------
4391-
4392-namespace android {
4393-
4394-/*
4395- * compare and order types
4396- */
4397-
4398-template<typename TYPE> inline
4399-int strictly_order_type(const TYPE& lhs, const TYPE& rhs) {
4400- return (lhs < rhs) ? 1 : 0;
4401-}
4402-
4403-template<typename TYPE> inline
4404-int compare_type(const TYPE& lhs, const TYPE& rhs) {
4405- return strictly_order_type(rhs, lhs) - strictly_order_type(lhs, rhs);
4406-}
4407-
4408-// ---------------------------------------------------------------------------
4409-
4410-/*
4411- * a key/value pair
4412- */
4413-
4414-template <typename KEY, typename VALUE>
4415-struct key_value_pair_t {
4416- typedef KEY key_t;
4417- typedef VALUE value_t;
4418-
4419- KEY key;
4420- VALUE value;
4421- key_value_pair_t() { }
4422- key_value_pair_t(const key_value_pair_t& o) : key(o.key), value(o.value) { }
4423- key_value_pair_t(const KEY& k, const VALUE& v) : key(k), value(v) { }
4424- key_value_pair_t(const KEY& k) : key(k) { }
4425- inline bool operator < (const key_value_pair_t& o) const {
4426- return strictly_order_type(key, o.key);
4427- }
4428- inline const KEY& getKey() const {
4429- return key;
4430- }
4431- inline const VALUE& getValue() const {
4432- return value;
4433- }
4434- friend bool operator == (const key_value_pair_t& lhs, const key_value_pair_t& rhs) {
4435- return !compare_type(lhs.key, rhs.key);
4436- }
4437-};
4438-
4439-
4440-} // namespace android
4441-
4442-// ---------------------------------------------------------------------------
4443-
4444-#endif // ANDROID_TYPE_HELPERS_H
4445
4446=== removed file '3rd_party/android-deps/utils/Unicode.h'
4447--- 3rd_party/android-deps/utils/Unicode.h 2013-03-13 04:54:15 +0000
4448+++ 3rd_party/android-deps/utils/Unicode.h 1970-01-01 00:00:00 +0000
4449@@ -1,172 +0,0 @@
4450-/*
4451- * Copyright (C) 2005 The Android Open Source Project
4452- *
4453- * Licensed under the Apache License, Version 2.0 (the "License");
4454- * you may not use this file except in compliance with the License.
4455- * You may obtain a copy of the License at
4456- *
4457- * http://www.apache.org/licenses/LICENSE-2.0
4458- *
4459- * Unless required by applicable law or agreed to in writing, software
4460- * distributed under the License is distributed on an "AS IS" BASIS,
4461- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4462- * See the License for the specific language governing permissions and
4463- * limitations under the License.
4464- */
4465-
4466-#ifndef ANDROID_UNICODE_H
4467-#define ANDROID_UNICODE_H
4468-
4469-#include <sys/types.h>
4470-#include <stdint.h>
4471-
4472-extern "C" {
4473-
4474-#ifndef USING_STD_CPP11
4475-#if 0 // Mir changes
4476-typedef uint32_t char32_t;
4477-typedef uint16_t char16_t;
4478-#endif
4479-#endif
4480-
4481-// Standard string functions on char16_t strings.
4482-int strcmp16(const char16_t *, const char16_t *);
4483-int strncmp16(const char16_t *s1, const char16_t *s2, size_t n);
4484-size_t strlen16(const char16_t *);
4485-size_t strnlen16(const char16_t *, size_t);
4486-char16_t *strcpy16(char16_t *, const char16_t *);
4487-char16_t *strncpy16(char16_t *, const char16_t *, size_t);
4488-
4489-// Version of comparison that supports embedded nulls.
4490-// This is different than strncmp() because we don't stop
4491-// at a nul character and consider the strings to be different
4492-// if the lengths are different (thus we need to supply the
4493-// lengths of both strings). This can also be used when
4494-// your string is not nul-terminated as it will have the
4495-// equivalent result as strcmp16 (unlike strncmp16).
4496-int strzcmp16(const char16_t *s1, size_t n1, const char16_t *s2, size_t n2);
4497-
4498-// Version of strzcmp16 for comparing strings in different endianness.
4499-int strzcmp16_h_n(const char16_t *s1H, size_t n1, const char16_t *s2N, size_t n2);
4500-
4501-// Standard string functions on char32_t strings.
4502-size_t strlen32(const char32_t *);
4503-size_t strnlen32(const char32_t *, size_t);
4504-
4505-/**
4506- * Measure the length of a UTF-32 string in UTF-8. If the string is invalid
4507- * such as containing a surrogate character, -1 will be returned.
4508- */
4509-ssize_t utf32_to_utf8_length(const char32_t *src, size_t src_len);
4510-
4511-/**
4512- * Stores a UTF-8 string converted from "src" in "dst", if "dst_length" is not
4513- * large enough to store the string, the part of the "src" string is stored
4514- * into "dst" as much as possible. See the examples for more detail.
4515- * Returns the size actually used for storing the string.
4516- * dst" is not null-terminated when dst_len is fully used (like strncpy).
4517- *
4518- * Example 1
4519- * "src" == \u3042\u3044 (\xE3\x81\x82\xE3\x81\x84)
4520- * "src_len" == 2
4521- * "dst_len" >= 7
4522- * ->
4523- * Returned value == 6
4524- * "dst" becomes \xE3\x81\x82\xE3\x81\x84\0
4525- * (note that "dst" is null-terminated)
4526- *
4527- * Example 2
4528- * "src" == \u3042\u3044 (\xE3\x81\x82\xE3\x81\x84)
4529- * "src_len" == 2
4530- * "dst_len" == 5
4531- * ->
4532- * Returned value == 3
4533- * "dst" becomes \xE3\x81\x82\0
4534- * (note that "dst" is null-terminated, but \u3044 is not stored in "dst"
4535- * since "dst" does not have enough size to store the character)
4536- *
4537- * Example 3
4538- * "src" == \u3042\u3044 (\xE3\x81\x82\xE3\x81\x84)
4539- * "src_len" == 2
4540- * "dst_len" == 6
4541- * ->
4542- * Returned value == 6
4543- * "dst" becomes \xE3\x81\x82\xE3\x81\x84
4544- * (note that "dst" is NOT null-terminated, like strncpy)
4545- */
4546-void utf32_to_utf8(const char32_t* src, size_t src_len, char* dst);
4547-
4548-/**
4549- * Returns the unicode value at "index".
4550- * Returns -1 when the index is invalid (equals to or more than "src_len").
4551- * If returned value is positive, it is able to be converted to char32_t, which
4552- * is unsigned. Then, if "next_index" is not NULL, the next index to be used is
4553- * stored in "next_index". "next_index" can be NULL.
4554- */
4555-int32_t utf32_from_utf8_at(const char *src, size_t src_len, size_t index, size_t *next_index);
4556-
4557-
4558-/**
4559- * Returns the UTF-8 length of UTF-16 string "src".
4560- */
4561-ssize_t utf16_to_utf8_length(const char16_t *src, size_t src_len);
4562-
4563-/**
4564- * Converts a UTF-16 string to UTF-8. The destination buffer must be large
4565- * enough to fit the UTF-16 as measured by utf16_to_utf8_length with an added
4566- * NULL terminator.
4567- */
4568-void utf16_to_utf8(const char16_t* src, size_t src_len, char* dst);
4569-
4570-/**
4571- * Returns the length of "src" when "src" is valid UTF-8 string.
4572- * Returns 0 if src is NULL or 0-length string. Returns -1 when the source
4573- * is an invalid string.
4574- *
4575- * This function should be used to determine whether "src" is valid UTF-8
4576- * characters with valid unicode codepoints. "src" must be null-terminated.
4577- *
4578- * If you are going to use other utf8_to_... functions defined in this header
4579- * with string which may not be valid UTF-8 with valid codepoint (form 0 to
4580- * 0x10FFFF), you should use this function before calling others, since the
4581- * other functions do not check whether the string is valid UTF-8 or not.
4582- *
4583- * If you do not care whether "src" is valid UTF-8 or not, you should use
4584- * strlen() as usual, which should be much faster.
4585- */
4586-ssize_t utf8_length(const char *src);
4587-
4588-/**
4589- * Measure the length of a UTF-32 string.
4590- */
4591-size_t utf8_to_utf32_length(const char *src, size_t src_len);
4592-
4593-/**
4594- * Stores a UTF-32 string converted from "src" in "dst". "dst" must be large
4595- * enough to store the entire converted string as measured by
4596- * utf8_to_utf32_length plus space for a NULL terminator.
4597- */
4598-void utf8_to_utf32(const char* src, size_t src_len, char32_t* dst);
4599-
4600-/**
4601- * Returns the UTF-16 length of UTF-8 string "src".
4602- */
4603-ssize_t utf8_to_utf16_length(const uint8_t* src, size_t srcLen);
4604-
4605-/**
4606- * Convert UTF-8 to UTF-16 including surrogate pairs.
4607- * Returns a pointer to the end of the string (where a null terminator might go
4608- * if you wanted to add one).
4609- */
4610-char16_t* utf8_to_utf16_no_null_terminator(const uint8_t* src, size_t srcLen, char16_t* dst);
4611-
4612-/**
4613- * Convert UTF-8 to UTF-16 including surrogate pairs. The destination buffer
4614- * must be large enough to hold the result as measured by utf8_to_utf16_length
4615- * plus an added NULL terminator.
4616- */
4617-void utf8_to_utf16(const uint8_t* src, size_t srcLen, char16_t* dst);
4618-
4619-}
4620-
4621-#endif
4622
4623=== removed file '3rd_party/android-deps/utils/VectorImpl.h'
4624--- 3rd_party/android-deps/utils/VectorImpl.h 2013-05-03 16:38:07 +0000
4625+++ 3rd_party/android-deps/utils/VectorImpl.h 1970-01-01 00:00:00 +0000
4626@@ -1,203 +0,0 @@
4627-/*
4628- * Copyright (C) 2005 The Android Open Source Project
4629- *
4630- * Licensed under the Apache License, Version 2.0 (the "License");
4631- * you may not use this file except in compliance with the License.
4632- * You may obtain a copy of the License at
4633- *
4634- * http://www.apache.org/licenses/LICENSE-2.0
4635- *
4636- * Unless required by applicable law or agreed to in writing, software
4637- * distributed under the License is distributed on an "AS IS" BASIS,
4638- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4639- * See the License for the specific language governing permissions and
4640- * limitations under the License.
4641- */
4642-
4643-#ifndef ANDROID_VECTOR_IMPL_H
4644-#define ANDROID_VECTOR_IMPL_H
4645-
4646-
4647-#include <assert.h>
4648-#include <stdint.h>
4649-#include <sys/types.h>
4650-#include <std/Errors.h>
4651-
4652-// ---------------------------------------------------------------------------
4653-// No user serviceable parts in here...
4654-// ---------------------------------------------------------------------------
4655-
4656-namespace android {
4657-
4658-/*!
4659- * Implementation of the guts of the vector<> class
4660- * this ensures backward binary compatibility and
4661- * reduces code size.
4662- * For performance reasons, we expose mStorage and mCount
4663- * so these fields are set in stone.
4664- *
4665- */
4666-
4667-class VectorImpl
4668-{
4669-public:
4670- enum { // flags passed to the ctor
4671- HAS_TRIVIAL_CTOR = 0x00000001,
4672- HAS_TRIVIAL_DTOR = 0x00000002,
4673- HAS_TRIVIAL_COPY = 0x00000004
4674- };
4675-
4676- VectorImpl(size_t itemSize, uint32_t flags);
4677- VectorImpl(const VectorImpl& rhs);
4678- virtual ~VectorImpl();
4679-
4680- /*! must be called from subclasses destructor */
4681- void finish_vector();
4682-
4683- VectorImpl& operator = (const VectorImpl& rhs);
4684-
4685- /*! C-style array access */
4686- inline const void* arrayImpl() const { return mStorage; }
4687- void* editArrayImpl();
4688-
4689- /*! vector stats */
4690- inline size_t size() const { return mCount; }
4691- inline bool isEmpty() const { return mCount == 0; }
4692- size_t capacity() const;
4693- ssize_t setCapacity(size_t size);
4694-
4695- /*! append/insert another vector or array */
4696- ssize_t insertVectorAt(const VectorImpl& vector, size_t index);
4697- ssize_t appendVector(const VectorImpl& vector);
4698- ssize_t insertArrayAt(const void* array, size_t index, size_t length);
4699- ssize_t appendArray(const void* array, size_t length);
4700-
4701- /*! add/insert/replace items */
4702- ssize_t insertAt(size_t where, size_t numItems = 1);
4703- ssize_t insertAt(const void* item, size_t where, size_t numItems = 1);
4704- void pop();
4705- void push();
4706- void push(const void* item);
4707- ssize_t add();
4708- ssize_t add(const void* item);
4709- ssize_t replaceAt(size_t index);
4710- ssize_t replaceAt(const void* item, size_t index);
4711-
4712- /*! remove items */
4713- ssize_t removeItemsAt(size_t index, size_t count = 1);
4714- void clear();
4715-
4716- const void* itemLocation(size_t index) const;
4717- void* editItemLocation(size_t index);
4718-
4719- typedef int (*compar_t)(const void* lhs, const void* rhs);
4720- typedef int (*compar_r_t)(const void* lhs, const void* rhs, void* state);
4721- status_t sort(compar_t cmp);
4722- status_t sort(compar_r_t cmp, void* state);
4723-
4724-protected:
4725- size_t itemSize() const;
4726- void release_storage();
4727-
4728- virtual void do_construct(void* storage, size_t num) const = 0;
4729- virtual void do_destroy(void* storage, size_t num) const = 0;
4730- virtual void do_copy(void* dest, const void* from, size_t num) const = 0;
4731- virtual void do_splat(void* dest, const void* item, size_t num) const = 0;
4732- virtual void do_move_forward(void* dest, const void* from, size_t num) const = 0;
4733- virtual void do_move_backward(void* dest, const void* from, size_t num) const = 0;
4734-
4735- // take care of FBC...
4736- virtual void reservedVectorImpl1();
4737- virtual void reservedVectorImpl2();
4738- virtual void reservedVectorImpl3();
4739- virtual void reservedVectorImpl4();
4740- virtual void reservedVectorImpl5();
4741- virtual void reservedVectorImpl6();
4742- virtual void reservedVectorImpl7();
4743- virtual void reservedVectorImpl8();
4744-
4745-private:
4746- void* _grow(size_t where, size_t amount);
4747- void _shrink(size_t where, size_t amount);
4748-
4749- inline void _do_construct(void* storage, size_t num) const;
4750- inline void _do_destroy(void* storage, size_t num) const;
4751- inline void _do_copy(void* dest, const void* from, size_t num) const;
4752- inline void _do_splat(void* dest, const void* item, size_t num) const;
4753- inline void _do_move_forward(void* dest, const void* from, size_t num) const;
4754- inline void _do_move_backward(void* dest, const void* from, size_t num) const;
4755-
4756- // These 2 fields are exposed in the inlines below,
4757- // so they're set in stone.
4758- void * mStorage; // base address of the vector
4759- size_t mCount; // number of items
4760-
4761- const uint32_t mFlags;
4762- const size_t mItemSize;
4763-};
4764-
4765-
4766-
4767-class SortedVectorImpl : public VectorImpl
4768-{
4769-public:
4770- SortedVectorImpl(size_t itemSize, uint32_t flags);
4771- SortedVectorImpl(const VectorImpl& rhs);
4772- virtual ~SortedVectorImpl();
4773-
4774- SortedVectorImpl& operator = (const SortedVectorImpl& rhs);
4775-
4776- //! finds the index of an item
4777- ssize_t indexOf(const void* item) const;
4778-
4779- //! finds where this item should be inserted
4780- size_t orderOf(const void* item) const;
4781-
4782- //! add an item in the right place (or replaces it if there is one)
4783- ssize_t add(const void* item);
4784-
4785- //! merges a vector into this one
4786- ssize_t merge(const VectorImpl& vector);
4787- ssize_t merge(const SortedVectorImpl& vector);
4788-
4789- //! removes an item
4790- ssize_t remove(const void* item);
4791-
4792-protected:
4793- virtual int do_compare(const void* lhs, const void* rhs) const = 0;
4794-
4795- // take care of FBC...
4796- virtual void reservedSortedVectorImpl1();
4797- virtual void reservedSortedVectorImpl2();
4798- virtual void reservedSortedVectorImpl3();
4799- virtual void reservedSortedVectorImpl4();
4800- virtual void reservedSortedVectorImpl5();
4801- virtual void reservedSortedVectorImpl6();
4802- virtual void reservedSortedVectorImpl7();
4803- virtual void reservedSortedVectorImpl8();
4804-
4805-private:
4806- ssize_t _indexOrderOf(const void* item, size_t* order = 0) const;
4807-
4808- // these are made private, because they can't be used on a SortedVector
4809- // (they don't have an implementation either)
4810- ssize_t add();
4811- void pop();
4812- void push();
4813- void push(const void* item);
4814- ssize_t insertVectorAt(const VectorImpl& vector, size_t index);
4815- ssize_t appendVector(const VectorImpl& vector);
4816- ssize_t insertArrayAt(const void* array, size_t index, size_t length);
4817- ssize_t appendArray(const void* array, size_t length);
4818- ssize_t insertAt(size_t where, size_t numItems = 1);
4819- ssize_t insertAt(const void* item, size_t where, size_t numItems = 1);
4820- ssize_t replaceAt(size_t index);
4821- ssize_t replaceAt(const void* item, size_t index);
4822-};
4823-
4824-} // namespace android
4825-
4826-
4827-// ---------------------------------------------------------------------------
4828-
4829-#endif // ANDROID_VECTOR_IMPL_H
4830
4831=== removed directory '3rd_party/android-input'
4832=== removed file '3rd_party/android-input/CMakeLists.txt'
4833--- 3rd_party/android-input/CMakeLists.txt 2016-01-29 08:18:22 +0000
4834+++ 3rd_party/android-input/CMakeLists.txt 1970-01-01 00:00:00 +0000
4835@@ -1,29 +0,0 @@
4836-# Don't be so strict on warnings etc as android code won't compile with them on.
4837-# A *big* number of warnings would ensue. Therefore locally define CMAKE_CXX_FLAGS
4838-# without things such as -Werror, -Wall, etc
4839-STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
4840-STRING(REGEX REPLACE "-W[^ ]*" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
4841-
4842-set(ANDROID_INPUT_COMPILE_FLAGS
4843- "-include ${CMAKE_CURRENT_SOURCE_DIR}/android/system/core/include/arch/ubuntu-x86/AndroidConfig.h -Wno-format")
4844-
4845-set(MIR_ANDROID_INPUT_COMPILE_FLAGS
4846- "${ANDROID_INPUT_COMPILE_FLAGS} -DUSING_STD_CPP11"
4847- PARENT_SCOPE)
4848-
4849-add_subdirectory(android)
4850-
4851-# Make those include directories available to mir source code
4852-list(
4853- APPEND MIR_ANDROID_INCLUDE_DIRECTORIES
4854- # That's what mir is really interested in
4855- ${CMAKE_CURRENT_SOURCE_DIR}/android/frameworks/base/services/input
4856- # And those are referenced by the headers in the directory above
4857- ${CMAKE_CURRENT_SOURCE_DIR}/android/frameworks/base/include
4858- ${CMAKE_CURRENT_SOURCE_DIR}/android/frameworks/native/include
4859- ${CMAKE_CURRENT_SOURCE_DIR}/android/hardware/libhardware_legacy/include
4860- ${CMAKE_CURRENT_SOURCE_DIR}/android/system/core/include
4861- ${CMAKE_CURRENT_SOURCE_DIR}/android/system/extras/ext4_utils
4862- ${CMAKE_CURRENT_SOURCE_DIR}/android/external/kernel-headers
4863- )
4864-set(MIR_ANDROID_INCLUDE_DIRECTORIES ${MIR_ANDROID_INCLUDE_DIRECTORIES} PARENT_SCOPE)
4865
4866=== removed file '3rd_party/android-input/README'
4867--- 3rd_party/android-input/README 2013-09-20 12:18:12 +0000
4868+++ 3rd_party/android-input/README 1970-01-01 00:00:00 +0000
4869@@ -1,14 +0,0 @@
4870-A stand-alone android input stack (EventHub, InputReader, InputChannel, etc) so
4871-that it can be used isolatedly, outside android proper.
4872-
4873-All the needed base, helper and utility classes (e.g. String8) were also brought along.
4874-
4875-Debugging
4876-=========
4877-
4878-Define FAKE_LOG_DEVICE=1 in android/CMakeLists.txt to make log be printed to the stderr.
4879-
4880-Set the ANDROID_LOG_TAGS environment variable to "*:v" (make everything verbose).
4881-
4882-In the beginning of, say, InputReader.cpp, change the defines you're interesed
4883-in (e.g. DEBUG_RAW_EVENTS) from 0 to 1.
4884
4885=== removed directory '3rd_party/android-input/android'
4886=== removed file '3rd_party/android-input/android/CMakeLists.txt'
4887--- 3rd_party/android-input/android/CMakeLists.txt 2016-01-29 08:18:22 +0000
4888+++ 3rd_party/android-input/android/CMakeLists.txt 1970-01-01 00:00:00 +0000
4889@@ -1,30 +0,0 @@
4890-include_directories(
4891- external/kernel-headers
4892- frameworks/base/include
4893- frameworks/native/include
4894- hardware/libhardware_legacy/include
4895- system/core/include
4896- system/extras/ext4_utils
4897-
4898- ${PROJECT_SOURCE_DIR}/include/server
4899- ${PROJECT_SOURCE_DIR}/include/platform
4900-)
4901-
4902-add_definitions(
4903- -DANDROID_SMP=1
4904- )
4905-
4906-add_library(android-input-common OBJECT
4907- frameworks/base/services/input/InputTransport.cpp
4908- frameworks/base/services/input/Input.cpp
4909- frameworks/base/services/input/IntSet.cpp
4910- frameworks/base/services/input/MirLog.cpp
4911- frameworks/native/libs/utils/RefBase.cpp # used a lot
4912- frameworks/native/libs/utils/Timers.cpp # used by KeyCharacterMap.cpp, InputReader.cpp, InputDispatcher.cpp, Looper.cpp
4913-)
4914-
4915-set_target_properties(
4916- android-input-common
4917- PROPERTIES
4918- COMPILE_FLAGS ${ANDROID_INPUT_COMPILE_FLAGS}
4919-)
4920
4921=== removed directory '3rd_party/android-input/android/external'
4922=== removed directory '3rd_party/android-input/android/external/kernel-headers'
4923=== removed directory '3rd_party/android-input/android/external/kernel-headers/original'
4924=== removed directory '3rd_party/android-input/android/external/kernel-headers/original/linux'
4925=== removed file '3rd_party/android-input/android/external/kernel-headers/original/linux/input.h'
4926--- 3rd_party/android-input/android/external/kernel-headers/original/linux/input.h 2012-11-06 18:05:11 +0000
4927+++ 3rd_party/android-input/android/external/kernel-headers/original/linux/input.h 1970-01-01 00:00:00 +0000
4928@@ -1,1151 +0,0 @@
4929-#ifndef _INPUT_H
4930-#define _INPUT_H
4931-
4932-/*
4933- * Copyright (c) 1999-2002 Vojtech Pavlik
4934- *
4935- * This program is free software; you can redistribute it and/or modify it
4936- * under the terms of the GNU General Public License version 2 as published by
4937- * the Free Software Foundation.
4938- */
4939-
4940-#include <sys/time.h>
4941-#include <sys/ioctl.h>
4942-#include <sys/types.h>
4943-#include <linux/types.h>
4944-
4945-/*
4946- * The event structure itself
4947- */
4948-
4949-struct input_event {
4950- struct timeval time;
4951- __u16 type;
4952- __u16 code;
4953- __s32 value;
4954-};
4955-
4956-/*
4957- * Protocol version.
4958- */
4959-
4960-#define EV_VERSION 0x010001
4961-
4962-/*
4963- * IOCTLs (0x00 - 0x7f)
4964- */
4965-
4966-struct input_id {
4967- __u16 bustype;
4968- __u16 vendor;
4969- __u16 product;
4970- __u16 version;
4971-};
4972-
4973-/**
4974- * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls
4975- * @value: latest reported value for the axis.
4976- * @minimum: specifies minimum value for the axis.
4977- * @maximum: specifies maximum value for the axis.
4978- * @fuzz: specifies fuzz value that is used to filter noise from
4979- * the event stream.
4980- * @flat: values that are within this value will be discarded by
4981- * joydev interface and reported as 0 instead.
4982- * @resolution: specifies resolution for the values reported for
4983- * the axis.
4984- *
4985- * Note that input core does not clamp reported values to the
4986- * [minimum, maximum] limits, such task is left to userspace.
4987- *
4988- * Resolution for main axes (ABS_X, ABS_Y, ABS_Z) is reported in
4989- * units per millimeter (units/mm), resolution for rotational axes
4990- * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian.
4991- */
4992-struct input_absinfo {
4993- __s32 value;
4994- __s32 minimum;
4995- __s32 maximum;
4996- __s32 fuzz;
4997- __s32 flat;
4998- __s32 resolution;
4999-};
5000-
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: