• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright © 2016 Giulio Camuffo
3  *
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:
11  *
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.
24  */
25 
26 #ifndef WESTON_H
27 #define WESTON_H
28 
29 #ifdef  __cplusplus
30 extern "C" {
31 #endif
32 
33 #include <libweston/libweston.h>
34 #include <libweston/config-parser.h>
35 
36 void
37 screenshooter_create(struct weston_compositor *ec);
38 
39 struct weston_process;
40 typedef void (*weston_process_cleanup_func_t)(struct weston_process *process,
41 					    int status);
42 
43 struct weston_process {
44 	pid_t pid;
45 	weston_process_cleanup_func_t cleanup;
46 	struct wl_list link;
47 };
48 
49 struct wl_client *
50 weston_client_launch(struct weston_compositor *compositor,
51 		     struct weston_process *proc,
52 		     const char *path,
53 		     weston_process_cleanup_func_t cleanup);
54 
55 struct wl_client *
56 weston_client_start(struct weston_compositor *compositor, const char *path);
57 
58 void
59 weston_watch_process(struct weston_process *process);
60 
61 struct weston_config *
62 wet_get_config(struct weston_compositor *compositor);
63 
64 void *
65 wet_load_module_entrypoint(const char *name, const char *entrypoint);
66 
67 int
68 wet_shell_init(struct weston_compositor *ec,
69 	       int *argc, char *argv[]);
70 int
71 wet_module_init(struct weston_compositor *ec,
72 		int *argc, char *argv[]);
73 int
74 wet_load_module(struct weston_compositor *compositor,
75 	        const char *name, int *argc, char *argv[]);
76 
77 int
78 module_init(struct weston_compositor *compositor,
79 	    int *argc, char *argv[]);
80 
81 char *
82 wet_get_libexec_path(const char *name);
83 
84 char *
85 wet_get_bindir_path(const char *name);
86 
87 int
88 wet_load_xwayland(struct weston_compositor *comp);
89 
90 struct text_backend;
91 
92 struct text_backend *
93 text_backend_init(struct weston_compositor *ec);
94 
95 void
96 text_backend_destroy(struct text_backend *text_backend);
97 
98 int
99 wet_main(int argc, char *argv[]);
100 
101 
102 /* test suite utilities */
103 
104 /** Opaque type for a test suite to define. */
105 struct wet_testsuite_data;
106 
107 void
108 wet_testsuite_data_set(struct wet_testsuite_data *data);
109 
110 struct wet_testsuite_data *
111 wet_testsuite_data_get(void);
112 
113 #ifdef  __cplusplus
114 }
115 #endif
116 
117 #endif
118