KDEAmbi/wayland_protocols/qwayland-zkde-screencast-unstable-v1.h
Tobias J. Endres 18a8812d66 feat: Refactor to Wayland-only and add mock server
- Remove all X11-related code and dependencies.
- Create a mock Hyperion server for testing.
- Refactor the main application to be Wayland-only.
- Update the build system and documentation.
2025-08-14 20:31:00 +02:00

332 lines
12 KiB
C

/* Generated by wayland-scanner 1.24.0 */
#ifndef ZKDE_SCREENCAST_UNSTABLE_V1_CLIENT_PROTOCOL_H
#define ZKDE_SCREENCAST_UNSTABLE_V1_CLIENT_PROTOCOL_H
#include <stdint.h>
#include <stddef.h>
#include "wayland-client.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @page page_zkde_screencast_unstable_v1 The zkde_screencast_unstable_v1 protocol
* @section page_ifaces_zkde_screencast_unstable_v1 Interfaces
* - @subpage page_iface_zkde_screencast_unstable_v1 - Protocol for managing PipeWire feeds of the different displays and windows
* - @subpage page_iface_zkde_screencast_stream_unstable_v1 -
* @section page_copyright_zkde_screencast_unstable_v1 Copyright
* <pre>
*
* SPDX-FileCopyrightText: 2020-2021 Aleix Pol Gonzalez <aleixpol@kde.org>
*
* SPDX-License-Identifier: LGPL-2.1-or-later
* </pre>
*/
struct wl_output;
struct zkde_screencast_stream_unstable_v1;
struct zkde_screencast_unstable_v1;
#ifndef ZKDE_SCREENCAST_UNSTABLE_V1_INTERFACE
#define ZKDE_SCREENCAST_UNSTABLE_V1_INTERFACE
/**
* @page page_iface_zkde_screencast_unstable_v1 zkde_screencast_unstable_v1
* @section page_iface_zkde_screencast_unstable_v1_desc Description
*
* Warning! The protocol described in this file is a desktop environment
* implementation detail. Regular clients must not use this protocol.
* Backward incompatible changes may be added without bumping the major
* version of the extension.
* @section page_iface_zkde_screencast_unstable_v1_api API
* See @ref iface_zkde_screencast_unstable_v1.
*/
/**
* @defgroup iface_zkde_screencast_unstable_v1 The zkde_screencast_unstable_v1 interface
*
* Warning! The protocol described in this file is a desktop environment
* implementation detail. Regular clients must not use this protocol.
* Backward incompatible changes may be added without bumping the major
* version of the extension.
*/
extern const struct wl_interface zkde_screencast_unstable_v1_interface;
#endif
#ifndef ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_INTERFACE
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_INTERFACE
/**
* @page page_iface_zkde_screencast_stream_unstable_v1 zkde_screencast_stream_unstable_v1
* @section page_iface_zkde_screencast_stream_unstable_v1_api API
* See @ref iface_zkde_screencast_stream_unstable_v1.
*/
/**
* @defgroup iface_zkde_screencast_stream_unstable_v1 The zkde_screencast_stream_unstable_v1 interface
*/
extern const struct wl_interface zkde_screencast_stream_unstable_v1_interface;
#endif
#ifndef ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_ENUM
#define ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_ENUM
/**
* @ingroup iface_zkde_screencast_unstable_v1
* Stream consumer attachment attributes
*/
enum zkde_screencast_unstable_v1_pointer {
/**
* No cursor
*/
ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_HIDDEN = 1,
/**
* Render the cursor on the stream
*/
ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_EMBEDDED = 2,
/**
* Send metadata about where the cursor is through PipeWire
*/
ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_METADATA = 4,
};
#endif /* ZKDE_SCREENCAST_UNSTABLE_V1_POINTER_ENUM */
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_OUTPUT 0
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_WINDOW 1
#define ZKDE_SCREENCAST_UNSTABLE_V1_DESTROY 2
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT 3
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_REGION 4
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT_WITH_DESCRIPTION 5
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_OUTPUT_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_WINDOW_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_DESTROY_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT_SINCE_VERSION 2
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_REGION_SINCE_VERSION 3
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
#define ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT_WITH_DESCRIPTION_SINCE_VERSION 4
/** @ingroup iface_zkde_screencast_unstable_v1 */
static inline void
zkde_screencast_unstable_v1_set_user_data(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zkde_screencast_unstable_v1, user_data);
}
/** @ingroup iface_zkde_screencast_unstable_v1 */
static inline void *
zkde_screencast_unstable_v1_get_user_data(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1)
{
return wl_proxy_get_user_data((struct wl_proxy *) zkde_screencast_unstable_v1);
}
static inline uint32_t
zkde_screencast_unstable_v1_get_version(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1)
{
return wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1);
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
static inline struct zkde_screencast_stream_unstable_v1 *
zkde_screencast_unstable_v1_stream_output(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, struct wl_output *output, uint32_t pointer)
{
struct wl_proxy *stream;
stream = wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_OUTPUT, &zkde_screencast_stream_unstable_v1_interface, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), 0, NULL, output, pointer);
return (struct zkde_screencast_stream_unstable_v1 *) stream;
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
static inline struct zkde_screencast_stream_unstable_v1 *
zkde_screencast_unstable_v1_stream_window(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, const char *window_uuid, uint32_t pointer)
{
struct wl_proxy *stream;
stream = wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_WINDOW, &zkde_screencast_stream_unstable_v1_interface, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), 0, NULL, window_uuid, pointer);
return (struct zkde_screencast_stream_unstable_v1 *) stream;
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*
* Destroy the zkde_screencast_unstable_v1 object.
*/
static inline void
zkde_screencast_unstable_v1_destroy(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1)
{
wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_DESTROY, NULL, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), WL_MARSHAL_FLAG_DESTROY);
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
static inline struct zkde_screencast_stream_unstable_v1 *
zkde_screencast_unstable_v1_stream_virtual_output(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, const char *name, int32_t width, int32_t height, wl_fixed_t scale, uint32_t pointer)
{
struct wl_proxy *stream;
stream = wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT, &zkde_screencast_stream_unstable_v1_interface, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), 0, NULL, name, width, height, scale, pointer);
return (struct zkde_screencast_stream_unstable_v1 *) stream;
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*
* Since version 5, the compositor will choose the highest scale
* factor for the region if the given scale is 0.0.
*/
static inline struct zkde_screencast_stream_unstable_v1 *
zkde_screencast_unstable_v1_stream_region(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, int32_t x, int32_t y, uint32_t width, uint32_t height, wl_fixed_t scale, uint32_t pointer)
{
struct wl_proxy *stream;
stream = wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_REGION, &zkde_screencast_stream_unstable_v1_interface, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), 0, NULL, x, y, width, height, scale, pointer);
return (struct zkde_screencast_stream_unstable_v1 *) stream;
}
/**
* @ingroup iface_zkde_screencast_unstable_v1
*/
static inline struct zkde_screencast_stream_unstable_v1 *
zkde_screencast_unstable_v1_stream_virtual_output_with_description(struct zkde_screencast_unstable_v1 *zkde_screencast_unstable_v1, const char *name, const char *description, int32_t width, int32_t height, wl_fixed_t scale, uint32_t pointer)
{
struct wl_proxy *stream;
stream = wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_unstable_v1,
ZKDE_SCREENCAST_UNSTABLE_V1_STREAM_VIRTUAL_OUTPUT_WITH_DESCRIPTION, &zkde_screencast_stream_unstable_v1_interface, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_unstable_v1), 0, NULL, name, description, width, height, scale, pointer);
return (struct zkde_screencast_stream_unstable_v1 *) stream;
}
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
* @struct zkde_screencast_stream_unstable_v1_listener
*/
struct zkde_screencast_stream_unstable_v1_listener {
/**
* Notifies that the server has stopped the stream. Clients should now call close.
*
*
*/
void (*closed)(void *data,
struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1);
/**
* Notifies about a pipewire feed being created
*
*
* @param node node of the pipewire buffer
*/
void (*created)(void *data,
struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1,
uint32_t node);
/**
* Offers an error message so the client knows the created event will not arrive, and the client should close the resource.
*
*
* @param error A human readable translated error message.
*/
void (*failed)(void *data,
struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1,
const char *error);
};
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
static inline int
zkde_screencast_stream_unstable_v1_add_listener(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1,
const struct zkde_screencast_stream_unstable_v1_listener *listener, void *data)
{
return wl_proxy_add_listener((struct wl_proxy *) zkde_screencast_stream_unstable_v1,
(void (**)(void)) listener, data);
}
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_CLOSE 0
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_CLOSED_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_CREATED_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_FAILED_SINCE_VERSION 1
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
#define ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_CLOSE_SINCE_VERSION 1
/** @ingroup iface_zkde_screencast_stream_unstable_v1 */
static inline void
zkde_screencast_stream_unstable_v1_set_user_data(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zkde_screencast_stream_unstable_v1, user_data);
}
/** @ingroup iface_zkde_screencast_stream_unstable_v1 */
static inline void *
zkde_screencast_stream_unstable_v1_get_user_data(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1)
{
return wl_proxy_get_user_data((struct wl_proxy *) zkde_screencast_stream_unstable_v1);
}
static inline uint32_t
zkde_screencast_stream_unstable_v1_get_version(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1)
{
return wl_proxy_get_version((struct wl_proxy *) zkde_screencast_stream_unstable_v1);
}
/** @ingroup iface_zkde_screencast_stream_unstable_v1 */
static inline void
zkde_screencast_stream_unstable_v1_destroy(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1)
{
wl_proxy_destroy((struct wl_proxy *) zkde_screencast_stream_unstable_v1);
}
/**
* @ingroup iface_zkde_screencast_stream_unstable_v1
*/
static inline void
zkde_screencast_stream_unstable_v1_close(struct zkde_screencast_stream_unstable_v1 *zkde_screencast_stream_unstable_v1)
{
wl_proxy_marshal_flags((struct wl_proxy *) zkde_screencast_stream_unstable_v1,
ZKDE_SCREENCAST_STREAM_UNSTABLE_V1_CLOSE, NULL, wl_proxy_get_version((struct wl_proxy *) zkde_screencast_stream_unstable_v1), WL_MARSHAL_FLAG_DESTROY);
}
#ifdef __cplusplus
}
#endif
#endif