/* Generated by wayland-scanner 1.22.0 */

/*
 * SPDX-FileCopyrightText: 2024 KylinSoft Co., Ltd.
 * SPDX-FileCopyrightText: 2024 Hongfei Shang
 *
 * SPDX-License-Identifier: MulanPSL-2.0
 *
 */

#include "wayland-util.h"
#include <stdint.h>
#include <stdlib.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 ukui_surface_interface;
extern const struct wl_interface wl_output_interface;
extern const struct wl_interface wl_seat_interface;
extern const struct wl_interface wl_surface_interface;

static const struct wl_interface *ukui_shell_types[] = {
    NULL,
    NULL,
    &ukui_surface_interface,
    &wl_surface_interface,
    &wl_output_interface,
    &wl_seat_interface,
};

static const struct wl_message ukui_shell_requests[] = {
    {"create_surface", "no", ukui_shell_types + 2},
    {"get_current_output", "2", ukui_shell_types + 0},
};

static const struct wl_message ukui_shell_events[] = {
    {"current_output", "2ss", ukui_shell_types + 0},
    {"done", "2", ukui_shell_types + 0},
};

WL_PRIVATE const struct wl_interface ukui_shell_interface = {
    "ukui_shell",
    4,
    2,
    ukui_shell_requests,
    2,
    ukui_shell_events,
};

static const struct wl_message ukui_surface_requests[] = {
    {"destroy", "", ukui_shell_types + 0},
    {"set_output", "o", ukui_shell_types + 4},
    {"set_position", "ii", ukui_shell_types + 0},
    {"set_skip_taskbar", "u", ukui_shell_types + 0},
    {"set_skip_switcher", "u", ukui_shell_types + 0},
    {"set_property", "uu", ukui_shell_types + 0},
    {"set_role", "u", ukui_shell_types + 0},
    {"set_panel_auto_hide", "u", ukui_shell_types + 0},
    {"open_under_cursor", "ii", ukui_shell_types + 0},
    {"set_panel_takes_focus", "u", ukui_shell_types + 0},
    {"grab_keyboard", "?o", ukui_shell_types + 5},
    {"set_icon", "?s", ukui_shell_types + 0},
    {"activate", "4", ukui_shell_types + 0},
};

static const struct wl_message ukui_surface_events[] = {
    {"position", "3ii", ukui_shell_types + 0},
};

WL_PRIVATE const struct wl_interface ukui_surface_interface = {
    "ukui_surface",
    4,
    13,
    ukui_surface_requests,
    1,
    ukui_surface_events,
};
