/* Generated by wayland-scanner 1.23.1 */

#ifndef E_SESSION_RECOVERY_SERVER_PROTOCOL_H
#define E_SESSION_RECOVERY_SERVER_PROTOCOL_H

#include <stdint.h>
#include <stddef.h>
#include "wayland-server.h"

#ifdef  __cplusplus
extern "C" {
#endif

struct wl_client;
struct wl_resource;

/**
 * @page page_e_session_recovery The e_session_recovery protocol
 * @section page_ifaces_e_session_recovery Interfaces
 * - @subpage page_iface_zwp_e_session_recovery - 
 */
struct wl_surface;
struct zwp_e_session_recovery;

#ifndef ZWP_E_SESSION_RECOVERY_INTERFACE
#define ZWP_E_SESSION_RECOVERY_INTERFACE
/**
 * @page page_iface_zwp_e_session_recovery zwp_e_session_recovery
 * @section page_iface_zwp_e_session_recovery_api API
 * See @ref iface_zwp_e_session_recovery.
 */
/**
 * @defgroup iface_zwp_e_session_recovery The zwp_e_session_recovery interface
 */
extern const struct wl_interface zwp_e_session_recovery_interface;
#endif

/**
 * @ingroup iface_zwp_e_session_recovery
 * @struct zwp_e_session_recovery_interface
 */
struct zwp_e_session_recovery_interface {
	/**
	 */
	void (*get_uuid)(struct wl_client *client,
			 struct wl_resource *resource,
			 struct wl_resource *surface);
	/**
	 */
	void (*set_uuid)(struct wl_client *client,
			 struct wl_resource *resource,
			 struct wl_resource *surface,
			 const char *uuid);
	/**
	 */
	void (*destroy_uuid)(struct wl_client *client,
			     struct wl_resource *resource,
			     struct wl_resource *surface,
			     const char *uuid);
};

#define ZWP_E_SESSION_RECOVERY_CREATE_UUID 0

/**
 * @ingroup iface_zwp_e_session_recovery
 */
#define ZWP_E_SESSION_RECOVERY_CREATE_UUID_SINCE_VERSION 1

/**
 * @ingroup iface_zwp_e_session_recovery
 */
#define ZWP_E_SESSION_RECOVERY_GET_UUID_SINCE_VERSION 1
/**
 * @ingroup iface_zwp_e_session_recovery
 */
#define ZWP_E_SESSION_RECOVERY_SET_UUID_SINCE_VERSION 1
/**
 * @ingroup iface_zwp_e_session_recovery
 */
#define ZWP_E_SESSION_RECOVERY_DESTROY_UUID_SINCE_VERSION 1

/**
 * @ingroup iface_zwp_e_session_recovery
 * Sends an create_uuid event to the client owning the resource.
 * @param resource_ The client's resource
 */
static inline void
zwp_e_session_recovery_send_create_uuid(struct wl_resource *resource_, struct wl_resource *surface, const char *uuid)
{
	wl_resource_post_event(resource_, ZWP_E_SESSION_RECOVERY_CREATE_UUID, surface, uuid);
}

#ifdef  __cplusplus
}
#endif

#endif
