152 lines
5.6 KiB
XML
152 lines
5.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<protocol name="weston_test">
|
|
|
|
<copyright>
|
|
Copyright © 2012 Intel Corporation
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
copy of this software and associated documentation files (the "Software"),
|
|
to deal in the Software without restriction, including without limitation
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
and/or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice (including the next
|
|
paragraph) shall be included in all copies or substantial portions of the
|
|
Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
DEALINGS IN THE SOFTWARE.
|
|
</copyright>
|
|
|
|
<interface name="weston_test" version="1">
|
|
<description summary="weston internal testing">
|
|
Internal testing facilities for the weston compositor.
|
|
|
|
It can't be stressed enough that these should never ever be used
|
|
outside of running weston's tests. The weston-test.so module should
|
|
never be installed.
|
|
|
|
These requests may allow clients to do very bad things.
|
|
</description>
|
|
|
|
<enum name="error">
|
|
<entry name="touch_up_with_coordinate" value="0"
|
|
summary="invalid coordinate"/>
|
|
</enum>
|
|
|
|
<request name="move_surface">
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
<arg name="x" type="int"/>
|
|
<arg name="y" type="int"/>
|
|
</request>
|
|
<request name="move_pointer">
|
|
<arg name="tv_sec_hi" type="uint"/>
|
|
<arg name="tv_sec_lo" type="uint"/>
|
|
<arg name="tv_nsec" type="uint"/>
|
|
<arg name="x" type="int"/>
|
|
<arg name="y" type="int"/>
|
|
</request>
|
|
<request name="send_button">
|
|
<arg name="tv_sec_hi" type="uint"/>
|
|
<arg name="tv_sec_lo" type="uint"/>
|
|
<arg name="tv_nsec" type="uint"/>
|
|
<arg name="button" type="int"/>
|
|
<arg name="state" type="uint"/>
|
|
</request>
|
|
<request name="send_axis">
|
|
<arg name="tv_sec_hi" type="uint"/>
|
|
<arg name="tv_sec_lo" type="uint"/>
|
|
<arg name="tv_nsec" type="uint"/>
|
|
<arg name="axis" type="uint"/>
|
|
<arg name="value" type="fixed"/>
|
|
</request>
|
|
<request name="activate_surface">
|
|
<arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
|
|
</request>
|
|
<request name="send_key">
|
|
<arg name="tv_sec_hi" type="uint"/>
|
|
<arg name="tv_sec_lo" type="uint"/>
|
|
<arg name="tv_nsec" type="uint"/>
|
|
<arg name="key" type="uint"/>
|
|
<arg name="state" type="uint"/>
|
|
</request>
|
|
<request name="device_release">
|
|
<arg name="device" type="string"/>
|
|
</request>
|
|
<request name="device_add">
|
|
<arg name="device" type="string"/>
|
|
</request>
|
|
<event name="pointer_position">
|
|
<arg name="x" type="fixed"/>
|
|
<arg name="y" type="fixed"/>
|
|
</event>
|
|
<request name="send_touch">
|
|
<arg name="tv_sec_hi" type="uint"/>
|
|
<arg name="tv_sec_lo" type="uint"/>
|
|
<arg name="tv_nsec" type="uint"/>
|
|
<arg name="touch_id" type="int"/>
|
|
<arg name="x" type="fixed"/>
|
|
<arg name="y" type="fixed"/>
|
|
<arg name="touch_type" type="uint"/>
|
|
</request>
|
|
|
|
<enum name="breakpoint">
|
|
<entry name="post_repaint" value="0"
|
|
summary="after output repaint (filter type: wl_output)"/>
|
|
</enum>
|
|
|
|
<request name="client_break">
|
|
<description summary="request compositor pause at a certain point">
|
|
Request that the compositor pauses execution at a certain point. When
|
|
execution is paused, the compositor will signal the shared semaphore
|
|
to the client.
|
|
</description>
|
|
<arg name="breakpoint" type="uint" enum="breakpoint"
|
|
summary="event type to wait for" />
|
|
<arg name="resource_id" type="uint"
|
|
summary="optional Wayland resource ID to filter for (type-specific)"/>
|
|
</request>
|
|
</interface>
|
|
|
|
<interface name="weston_test_runner" version="1">
|
|
<description summary="weston internal testing">
|
|
This is a global singleton interface for Weston internal tests.
|
|
|
|
This interface allows a test client to trigger compositor-side
|
|
test procedures. This is useful for cases, where the actual tests
|
|
are in compositor plugins, but they also require the presence of
|
|
a particular client.
|
|
|
|
This interface is implemented by the compositor plugins containing
|
|
the testing code.
|
|
|
|
A test client starts a test with the "run" request. It must not send
|
|
another "run" request until receiving the "finished" event. If the
|
|
compositor-side test succeeds, the "finished" event is sent. If the
|
|
compositor-side test fails, the compositor should send the protocol
|
|
error "test_failed", but it may also exit with an error (e.g. SEGV).
|
|
|
|
Unknown test name will raise "unknown_test" protocol error.
|
|
</description>
|
|
|
|
<enum name="error">
|
|
<entry name="test_failed" value="0" summary="compositor test failed"/>
|
|
<entry name="unknown_test" value="1" summary="unrecognized test name"/>
|
|
</enum>
|
|
|
|
<request name="destroy" type="destructor"/>
|
|
|
|
<request name="run">
|
|
<arg name="test_name" type="string"/>
|
|
</request>
|
|
|
|
<event name="finished"/>
|
|
</interface>
|
|
</protocol>
|