Jasper St. Pierre | 72dea06 | 2015-09-23 10:46:47 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright © 2015 Jasper St. Pierre |
| 3 | * |
Yong Bakos | 5336153 | 2017-01-23 06:17:44 -0800 | [diff] [blame] | 4 | * Permission is hereby granted, free of charge, to any person obtaining |
| 5 | * a copy of this software and associated documentation files (the |
| 6 | * "Software"), to deal in the Software without restriction, including |
| 7 | * without limitation the rights to use, copy, modify, merge, publish, |
| 8 | * distribute, sublicense, and/or sell copies of the Software, and to |
| 9 | * permit persons to whom the Software is furnished to do so, subject to |
| 10 | * the following conditions: |
Jasper St. Pierre | 72dea06 | 2015-09-23 10:46:47 -0700 | [diff] [blame] | 11 | * |
Yong Bakos | 5336153 | 2017-01-23 06:17:44 -0800 | [diff] [blame] | 12 | * The above copyright notice and this permission notice (including the |
| 13 | * next paragraph) shall be included in all copies or substantial |
| 14 | * portions of the Software. |
| 15 | * |
| 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| 17 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
| 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| 19 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
| 20 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
| 21 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 23 | * SOFTWARE. |
Jasper St. Pierre | 72dea06 | 2015-09-23 10:46:47 -0700 | [diff] [blame] | 24 | */ |
| 25 | |
| 26 | #include "config.h" |
| 27 | |
| 28 | #include "compositor.h" |
| 29 | |
| 30 | struct weston_launcher; |
| 31 | |
| 32 | struct launcher_interface { |
| 33 | int (* connect) (struct weston_launcher **launcher_out, struct weston_compositor *compositor, |
| 34 | int tty, const char *seat_id, bool sync_drm); |
| 35 | void (* destroy) (struct weston_launcher *launcher); |
| 36 | int (* open) (struct weston_launcher *launcher, const char *path, int flags); |
| 37 | void (* close) (struct weston_launcher *launcher, int fd); |
| 38 | int (* activate_vt) (struct weston_launcher *launcher, int vt); |
| 39 | void (* restore) (struct weston_launcher *launcher); |
Giulio Camuffo | a32986e | 2016-12-05 14:50:36 +0100 | [diff] [blame] | 40 | /* Get the number of the VT weston is running in */ |
| 41 | int (* get_vt) (struct weston_launcher *launcher); |
Jasper St. Pierre | 72dea06 | 2015-09-23 10:46:47 -0700 | [diff] [blame] | 42 | }; |
| 43 | |
| 44 | struct weston_launcher { |
Emil Velikov | 8f7201e | 2017-02-10 20:14:22 +0000 | [diff] [blame] | 45 | const struct launcher_interface *iface; |
Jasper St. Pierre | 72dea06 | 2015-09-23 10:46:47 -0700 | [diff] [blame] | 46 | }; |
| 47 | |
Emil Velikov | 8f7201e | 2017-02-10 20:14:22 +0000 | [diff] [blame] | 48 | extern const struct launcher_interface launcher_logind_iface; |
| 49 | extern const struct launcher_interface launcher_weston_launch_iface; |
| 50 | extern const struct launcher_interface launcher_direct_iface; |