Mir

Merge lp://qastaging/~andreas-pokorny/mir/07-csdi-rpc-for-setting-input-device-configurations into lp://qastaging/mir

Proposed by Andreas Pokorny
Status: Work in progress
Proposed branch: lp://qastaging/~andreas-pokorny/mir/07-csdi-rpc-for-setting-input-device-configurations
Merge into: lp://qastaging/mir
Prerequisite: lp://qastaging/~andreas-pokorny/mir/06-csdi-client-api-for-input-device-settings
Diff against target: 1066 lines (+419/-20)
46 files modified
include/client/mir_toolkit/mir_connection.h (+14/-0)
include/server/mir/frontend/session_mediator_observer.h (+2/-0)
include/server/mir/input/input_device_hub.h (+1/-0)
include/test/mir/test/doubles/mock_input_device_hub.h (+1/-1)
src/client/logging/rpc_report.cpp (+14/-3)
src/client/logging/rpc_report.h (+1/-0)
src/client/lttng/rpc_report.cpp (+4/-0)
src/client/lttng/rpc_report.h (+1/-0)
src/client/mir_connection.cpp (+12/-0)
src/client/mir_connection.h (+1/-0)
src/client/mir_connection_api.cpp (+16/-1)
src/client/rpc/mir_display_server.cpp (+7/-0)
src/client/rpc/mir_display_server.h (+4/-0)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+1/-0)
src/client/rpc/null_rpc_report.cpp (+5/-0)
src/client/rpc/null_rpc_report.h (+1/-1)
src/client/rpc/rpc_report.h (+2/-0)
src/client/symbols.map (+1/-0)
src/include/common/mir/protobuf/display_server.h (+4/-0)
src/protobuf/mir_protobuf.proto (+6/-0)
src/protobuf/symbols.map (+25/-9)
src/server/frontend/protobuf_input_converter.cpp (+29/-0)
src/server/frontend/protobuf_input_converter.h (+2/-0)
src/server/frontend/protobuf_message_processor.cpp (+4/-0)
src/server/frontend/session_mediator.cpp (+22/-0)
src/server/frontend/session_mediator.h (+4/-0)
src/server/frontend/session_mediator_observer_multiplexer.cpp (+7/-0)
src/server/frontend/session_mediator_observer_multiplexer.h (+2/-0)
src/server/input/default_device.cpp (+15/-2)
src/server/input/default_device.h (+7/-0)
src/server/input/default_input_device_hub.cpp (+73/-1)
src/server/input/default_input_device_hub.h (+6/-0)
src/server/report/logging/session_mediator_report.cpp (+5/-0)
src/server/report/logging/session_mediator_report.h (+2/-0)
src/server/report/lttng/session_mediator_report.cpp (+1/-0)
src/server/report/lttng/session_mediator_report.h (+1/-0)
src/server/report/lttng/session_mediator_report_tp.h (+1/-0)
src/server/report/null/session_mediator_report.cpp (+4/-0)
src/server/report/null/session_mediator_report.h (+2/-0)
tests/acceptance-tests/test_client_input.cpp (+36/-2)
tests/acceptance-tests/test_nested_mir.cpp (+1/-0)
tests/acceptance-tests/test_session_mediator_report.cpp (+1/-0)
tests/include/mir/test/doubles/mock_rpc_report.h (+4/-0)
tests/include/mir/test/doubles/stub_display_server.h (+5/-0)
tests/include/mir/test/stub_server_tool.h (+8/-0)
tests/unit-tests/input/test_default_input_device_hub.cpp (+54/-0)
To merge this branch: bzr merge lp://qastaging/~andreas-pokorny/mir/07-csdi-rpc-for-setting-input-device-configurations
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Mir development team Pending
Review via email: mp+310640@code.qastaging.launchpad.net

Commit message

Add client server RPC code to apply input device changes done by a client

This change adds code to transport input device configurations from clients back to the server, using a new rpc. On the server side the changed configuration is forwarded to the respective input device.

Description of the change

This change adds RPC to apply configuration changes of a single device.

So the process for a client would be to get the current configuration of all devices, search for relevant devices. Inspect and update the retrieved configuration, and then apply the configuration of the devices that should be changed.

The following has been left out - and is to be added with upcoming MPs
* Forwardng configuration changes through nested
* Allowing the shell to filter or deny configuration changes..

Not considered by this API yet:
* Storing configuration changes inside sessions, and applying those on session switch - I do not see a use case for that, I think nested platforms and uss are usually the main users of that API
* Letting clients configure the keymap that should be used for each keyboard

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3800
https://mir-jenkins.ubuntu.com/job/mir-ci/2149/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/2785/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2850/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2842/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2842/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2842/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2814/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2814/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2814/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2814/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2814/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2814/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2149/rebuild

review: Needs Fixing (continuous-integration)
3801. By Andreas Pokorny

merge lp:mir

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3801
https://mir-jenkins.ubuntu.com/job/mir-ci/2150/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/2786/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2851
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2843
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2843
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2843
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2815/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2815/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2815/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2815
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2815/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2815
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2815/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2815/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2150/rebuild

review: Needs Fixing (continuous-integration)
3802. By Andreas Pokorny

release input device config in test case

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3802
https://mir-jenkins.ubuntu.com/job/mir-ci/2153/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/2789
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2854
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2846
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2846
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2846
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2818/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2818/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2818/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2818/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2818/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2818
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2818/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2153/rebuild

review: Approve (continuous-integration)
3803. By Andreas Pokorny

merge prereq

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3803
https://mir-jenkins.ubuntu.com/job/mir-ci/2172/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/2815/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2880
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2872
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2872
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2872
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2844/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2844
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2844/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2844
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2844/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2844
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2844/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2844
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2844/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2844
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2844/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2172/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
3804. By Andreas Pokorny

merge lp:mir and adapt to observer reports

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3804
https://mir-jenkins.ubuntu.com/job/mir-ci/2209/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/2862
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2927
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2919
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2919
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2919
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2891/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2891/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2891/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/2891/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2891/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2891
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2891/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2209/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

Ok I have to rework the way configuration is stored inside the server -
I think that will make me revisit the RPC again.. so back to WIP

Unmerged revisions

3804. By Andreas Pokorny

merge lp:mir and adapt to observer reports

3803. By Andreas Pokorny

merge prereq

3802. By Andreas Pokorny

release input device config in test case

3801. By Andreas Pokorny

merge lp:mir

3800. By Andreas Pokorny

merge prereq

3799. By Andreas Pokorny

update prereq

3798. By Andreas Pokorny

get changes from lp:mir

3797. By Andreas Pokorny

use rpc channel

3796. By Andreas Pokorny

Extend RPC Report

3795. By Andreas Pokorny

more reports

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches