summaryrefslogtreecommitdiff
path: root/lib/CWayland/CWayland.h
blob: 44424a2f9cbc0f8135af4b9c2bccab9c26dfb084 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#pragma once

#include <lean/lean.h>

#ifdef __cplusplus
extern "C"
{
#endif

// -- Constants

uint32_t waylean_SIGINT(void);
uint32_t waylean_SIGUSR1(void);
uint32_t waylean_SIGUSR2(void);

// -- Display

lean_obj_res waylean_display_new  (b_lean_obj_arg name);
lean_obj_res waylean_display_flush(b_lean_obj_arg display);

// -- Event Loop

lean_obj_res waylean_event_loop_new        (void);
lean_obj_res waylean_event_loop_add_display(b_lean_obj_arg event_loop,
                                            b_lean_obj_arg display);
lean_obj_res waylean_event_loop_add_timer  (b_lean_obj_arg event_loop,
                                            uint32_t       delay_ms,
                                            b_lean_obj_arg message);
lean_obj_res waylean_event_loop_add_signal (b_lean_obj_arg event_loop,
                                            uint32_t       signum,
                                            b_lean_obj_arg message);
lean_obj_res waylean_event_loop_remove     (b_lean_obj_arg event_loop,
                                            b_lean_obj_arg source);
lean_obj_res waylean_event_loop_quit       (b_lean_obj_arg event_loop);
lean_obj_res waylean_event_loop_poll       (b_lean_obj_arg event_loop);

// -- Type Map

lean_obj_res waylean_type_map_new     (void);
lean_obj_res waylean_type_map_contains(b_lean_obj_arg type_map,
                                       b_lean_obj_arg iface_name);
lean_obj_res waylean_type_map_register(b_lean_obj_arg type_map,
                                       b_lean_obj_arg iface_desc);

// -- Argument Buffer

lean_obj_res waylean_argument_buffer_new         (void);
lean_obj_res waylean_argument_buffer_write_int   (b_lean_obj_arg writer,
                                                  int32_t        value);
lean_obj_res waylean_argument_buffer_write_uint  (b_lean_obj_arg writer,
                                                  uint32_t       value);
lean_obj_res waylean_argument_buffer_write_fixed (b_lean_obj_arg writer,
                                                  float          value);
lean_obj_res waylean_argument_buffer_write_string(b_lean_obj_arg writer,
                                                  b_lean_obj_arg value);
lean_obj_res waylean_argument_buffer_write_object(b_lean_obj_arg writer,
                                                  b_lean_obj_arg value);
lean_obj_res waylean_argument_buffer_write_array (b_lean_obj_arg writer,
                                                  b_lean_obj_arg value);
lean_obj_res waylean_argument_buffer_write_fd    (b_lean_obj_arg writer,
                                                  int32_t        value);
lean_obj_res waylean_argument_buffer_read_int    (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_uint   (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_fixed  (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_string (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_object (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_array  (b_lean_obj_arg reader);
lean_obj_res waylean_argument_buffer_read_fd     (b_lean_obj_arg reader);

// -- Proxy

lean_obj_res waylean_proxy_from_display    (lean_obj_arg   display);
lean_obj_res waylean_proxy_send            (b_lean_obj_arg proxy,
                                            uint32_t       opcode,
                                            b_lean_obj_arg argument_buffer);
lean_obj_res waylean_proxy_send_constructor(b_lean_obj_arg proxy,
                                            uint32_t       opcode,
                                            b_lean_obj_arg argument_buffer,
                                            b_lean_obj_arg type_map,
                                            b_lean_obj_arg iface_name);
lean_obj_res waylean_proxy_listen          (b_lean_obj_arg proxy,
                                            lean_obj_arg   handler);

#ifdef __cplusplus
}
#endif