server.h (988B)
1 /* Copyright (c), Niclas Meyer <niclas@countingsort.com> 2 * 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at https://mozilla.org/MPL/2.0/. 6 */ 7 8 #ifndef KIWMI_SERVER_H 9 #define KIWMI_SERVER_H 10 11 #include <stdbool.h> 12 13 #include "desktop/desktop.h" 14 #include "input/input.h" 15 16 struct kiwmi_server { 17 struct wl_display *wl_display; 18 struct wl_event_loop *wl_event_loop; 19 struct wlr_backend *backend; 20 struct wlr_renderer *renderer; 21 struct wlr_allocator *allocator; 22 23 const char *socket; 24 char *config_path; 25 struct kiwmi_lua *lua; 26 struct kiwmi_desktop desktop; 27 struct kiwmi_input input; 28 29 struct { 30 struct wl_signal destroy; 31 } events; 32 }; 33 34 bool server_init(struct kiwmi_server *server, char *config_path); 35 bool server_run(struct kiwmi_server *server); 36 void server_fini(struct kiwmi_server *server); 37 38 #endif /* KIWMI_SERVER_H */