Merge lp://qastaging/~mir-team/mir/cursor-spike-phase-2 into lp://qastaging/mir/0.1
Status: | Work in progress |
---|---|
Proposed branch: | lp://qastaging/~mir-team/mir/cursor-spike-phase-2 |
Merge into: | lp://qastaging/mir/0.1 |
Prerequisite: | lp://qastaging/~mir-team/mir/cursor-spike-phase-1-resubmit |
Diff against target: |
674 lines (+536/-0) 11 files modified
include/client/mir_toolkit/mir_client_library.h (+11/-0) include/shared/mir_toolkit/client_types.h (+16/-0) src/client/mir_client_library.cpp (+5/-0) src/client/mir_surface.cpp (+27/-0) src/client/mir_surface.h (+5/-0) src/server/frontend/protobuf_message_processor.cpp (+4/-0) src/server/frontend/session_mediator.cpp (+9/-0) src/server/frontend/session_mediator.h (+5/-0) src/shared/protobuf/mir_protobuf.proto (+9/-0) tests/acceptance-tests/CMakeLists.txt (+1/-0) tests/acceptance-tests/test_client_cursor_api.cpp (+444/-0) |
To merge this branch: | bzr merge lp://qastaging/~mir-team/mir/cursor-spike-phase-2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Kevin DuBois (community) | Needs Information | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email:
|
Commit message
Define client cursor API and implement up until stub in session mediator. Define expected behavior through disabled acceptance tests.
Description of the change
Cursor spike phase 2! phases 3 and 4* are coming later today. This is just split up for ease of code review.
Contains the client side API definitions protobuf changes and implementation up until SessionMediator.
Contains the behavior definition in terms of disabled acceptance tests.
Phase 3 will contain some refactoring of existing code to enable implementing the tests on server side.
Phase 4 contains the new cursor controller object (new impl of cursor listener) which provides most of the implementation
Unmerged revisions
- 1492. By Robert Carr
-
mir_client_
library. h: Update configure_cursor comments - 1491. By Robert Carr
-
client_types.h: Restrict to 80 characters, fix typo s/nad/and
- 1490. By Robert Carr
-
Define API with client/server RPC infrastructure + acceptance tests (Disabled)
- 1489. By Robert Carr
-
render_
surfaces. cpp: Remove unused variables - 1488. By Robert Carr
-
Remove old code for input=off from render_surfaces.cpp
- 1487. By Robert Carr
-
Rename CursorLoader-
>CursorImagesV - 1486. By Robert Carr
-
Merge trunk
- 1485. By Robert Carr
-
Rename CursorRepository -> CursorLoader
- 1484. By Robert Carr
-
Const correctness
- 1483. By Robert Carr
-
render_surfaces: Use a null cursor instance instead of a nullptr\!
nits:
l32, most of the client headers seem to stick to the 80-char-columns rule (although the style guide says 120-char-columns)
l35, 'nad'
needs fixings:
the protobuf message should have:
optional string error = 127;
l10/l16 comment doesn't seem to match the function
l10, It wasn't immediately obvious to me from the context and functions that the "cursor_theme" and "cursor_name" were c-strings that correspond to something on the server side. (I thought we were sending a raw pixel buffer at first glance).
needs info:
How does the client get the strings (theme name/cursor name) that it needs to use this api?
although it makes sense to ignore the strings if enabled is false, it almost lends itself to having 2 functions added to the API, one concerning turning the cursor on and off, and the other setting the cursor to something different.