/* Generated by wayland-scanner 1.23.0 */

#ifndef DDE_GLOBALPROPERTY_CLIENT_PROTOCOL_H
#define DDE_GLOBALPROPERTY_CLIENT_PROTOCOL_H

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

#ifdef  __cplusplus
extern "C" {
#endif

/**
 * @page page_dde_globalproperty The dde_globalproperty protocol
 * @section page_ifaces_dde_globalproperty Interfaces
 * - @subpage page_iface_dde_globalproperty - dde global property interface
 * @section page_copyright_dde_globalproperty Copyright
 * <pre>
 *
 * Copyright © 2022  diguoliang <diguoliang@uniontech.com>
 *
 * Permission to use, copy, modify, distribute, and sell this
 * software and its documentation for any purpose is hereby granted
 * without fee, provided that the above copyright notice appear in
 * all copies and that both that copyright notice and this permission
 * notice appear in supporting documentation, and that the name of
 * the copyright holders not be used in advertising or publicity
 * pertaining to distribution of the software without specific,
 * written prior permission.  The copyright holders make no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied
 * warranty.
 *
 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
 * THIS SOFTWARE.
 * </pre>
 */
struct dde_globalproperty;
struct wl_surface;

#ifndef DDE_GLOBALPROPERTY_INTERFACE
#define DDE_GLOBALPROPERTY_INTERFACE
/**
 * @page page_iface_dde_globalproperty dde_globalproperty
 * @section page_iface_dde_globalproperty_desc Description
 *
 *
 * @section page_iface_dde_globalproperty_api API
 * See @ref iface_dde_globalproperty.
 */
/**
 * @defgroup iface_dde_globalproperty The dde_globalproperty interface
 *
 *
 */
extern const struct wl_interface dde_globalproperty_interface;
#endif

#define DDE_GLOBALPROPERTY_SET_PROPERTY 0
#define DDE_GLOBALPROPERTY_GET_PROPERTY 1


/**
 * @ingroup iface_dde_globalproperty
 */
#define DDE_GLOBALPROPERTY_SET_PROPERTY_SINCE_VERSION 1
/**
 * @ingroup iface_dde_globalproperty
 */
#define DDE_GLOBALPROPERTY_GET_PROPERTY_SINCE_VERSION 1

/** @ingroup iface_dde_globalproperty */
static inline void
dde_globalproperty_set_user_data(struct dde_globalproperty *dde_globalproperty, void *user_data)
{
	wl_proxy_set_user_data((struct wl_proxy *) dde_globalproperty, user_data);
}

/** @ingroup iface_dde_globalproperty */
static inline void *
dde_globalproperty_get_user_data(struct dde_globalproperty *dde_globalproperty)
{
	return wl_proxy_get_user_data((struct wl_proxy *) dde_globalproperty);
}

static inline uint32_t
dde_globalproperty_get_version(struct dde_globalproperty *dde_globalproperty)
{
	return wl_proxy_get_version((struct wl_proxy *) dde_globalproperty);
}

/** @ingroup iface_dde_globalproperty */
static inline void
dde_globalproperty_destroy(struct dde_globalproperty *dde_globalproperty)
{
	wl_proxy_destroy((struct wl_proxy *) dde_globalproperty);
}

/**
 * @ingroup iface_dde_globalproperty
 *
 */
static inline void
dde_globalproperty_set_property(struct dde_globalproperty *dde_globalproperty, const char *module, const char *function, struct wl_surface *surface, int32_t type, const char *data)
{
	wl_proxy_marshal_flags((struct wl_proxy *) dde_globalproperty,
			 DDE_GLOBALPROPERTY_SET_PROPERTY, NULL, wl_proxy_get_version((struct wl_proxy *) dde_globalproperty), 0, module, function, surface, type, data);
}

/**
 * @ingroup iface_dde_globalproperty
 *
 */
static inline void
dde_globalproperty_get_property(struct dde_globalproperty *dde_globalproperty, const char *data)
{
	wl_proxy_marshal_flags((struct wl_proxy *) dde_globalproperty,
			 DDE_GLOBALPROPERTY_GET_PROPERTY, NULL, wl_proxy_get_version((struct wl_proxy *) dde_globalproperty), 0, data);
}

#ifdef  __cplusplus
}
#endif

#endif
