/* Generated by wayland-scanner 1.24.0 */

#include <stdbool.h>
#include <stdlib.h>
#include <stdint.h>
#include "wayland-util.h"

#ifndef __has_attribute
# define __has_attribute(x) 0  /* Compatibility with non-clang compilers. */
#endif

#if (__has_attribute(visibility) || defined(__GNUC__) && __GNUC__ >= 4)
#define WL_PRIVATE __attribute__ ((visibility("hidden")))
#else
#define WL_PRIVATE
#endif

extern const struct wl_interface wl_output_interface;
extern const struct wl_interface wl_surface_interface;
extern const struct wl_interface zwf_hotspot_v2_interface;
extern const struct wl_interface zwf_output_v2_interface;
extern const struct wl_interface zwf_surface_v2_interface;

static const struct wl_interface *wayfire_shell_unstable_v2_types[] = {
	&wl_output_interface,
	&zwf_output_v2_interface,
	&wl_surface_interface,
	&zwf_surface_v2_interface,
	NULL,
	NULL,
	NULL,
	&zwf_hotspot_v2_interface,
};

static const struct wl_message zwf_shell_manager_v2_requests[] = {
	{ "get_wf_output", "on", wayfire_shell_unstable_v2_types + 0 },
	{ "get_wf_surface", "on", wayfire_shell_unstable_v2_types + 2 },
};

WL_PRIVATE const struct wl_interface zwf_shell_manager_v2_interface = {
	"zwf_shell_manager_v2", 2,
	2, zwf_shell_manager_v2_requests,
	0, NULL,
};

static const struct wl_message zwf_output_v2_requests[] = {
	{ "inhibit_output", "", wayfire_shell_unstable_v2_types + 0 },
	{ "inhibit_output_done", "", wayfire_shell_unstable_v2_types + 0 },
	{ "create_hotspot", "uuun", wayfire_shell_unstable_v2_types + 4 },
};

static const struct wl_message zwf_output_v2_events[] = {
	{ "enter_fullscreen", "", wayfire_shell_unstable_v2_types + 0 },
	{ "leave_fullscreen", "", wayfire_shell_unstable_v2_types + 0 },
	{ "toggle_menu", "2", wayfire_shell_unstable_v2_types + 0 },
};

WL_PRIVATE const struct wl_interface zwf_output_v2_interface = {
	"zwf_output_v2", 2,
	3, zwf_output_v2_requests,
	3, zwf_output_v2_events,
};

static const struct wl_message zwf_hotspot_v2_events[] = {
	{ "enter", "", wayfire_shell_unstable_v2_types + 0 },
	{ "leave", "", wayfire_shell_unstable_v2_types + 0 },
};

WL_PRIVATE const struct wl_interface zwf_hotspot_v2_interface = {
	"zwf_hotspot_v2", 1,
	0, NULL,
	2, zwf_hotspot_v2_events,
};

static const struct wl_message zwf_surface_v2_requests[] = {
	{ "interactive_move", "", wayfire_shell_unstable_v2_types + 0 },
};

WL_PRIVATE const struct wl_interface zwf_surface_v2_interface = {
	"zwf_surface_v2", 1,
	1, zwf_surface_v2_requests,
	0, NULL,
};

