wayland::data_device_manager_t(3)
π« NAME π«
wayland::data_device_manager_t - data transfer interface, bestie π
This is the wayland::data_device_manager_t(3) page from the Wayland++ manual, and weβre gonna make it make sense. No cap.
β¨ SYNOPSIS β¨
#include <wayland-client-protocol.hpp>
Inherits wayland::proxy_t.
π Public Types π
enum class wrapper_type { standard, display, foreign, proxy_wrapper }β the whole enum, iconic behavior only π
πΈ Public Member Functions πΈ
data_source_t create_data_source ()β create a new data source.data_device_t get_data_device (seat_t const &seat)β create a new data device.uint32_t get_id () constβ Get the id of a proxy object.std::string get_class () constβ Get the interface name (class) of a proxy object.uint32_t get_version () constβ Get the protocol object version of a proxy object.wrapper_type get_wrapper_type () constβ Get the type of a proxy object.void set_queue (event_queue_t queue)β Assign a proxy to an event queue.wl_proxy * c_ptr () constβ Get a pointer to the underlying C struct.bool proxy_has_object () constβ Check whether this wrapper actually wraps an object.operator bool () constβ Check whether this wrapper actually wraps an object.bool operator== (const proxy_t &right) constβ Check whether two wrappers refer to the same object.bool operator!= (const proxy_t &right) constβ Check whether two wrappers refer to different objects.void proxy_release ()β Release the wrapped object (if any), making this an empty wrapper.
π¦ Static Public Attributes π¦
static constexpr std::uint32_t create_data_source_since_version = 1β Minimum protocol version required for thecreate_data_sourcefunction.static constexpr std::uint32_t get_data_device_since_version = 1β Minimum protocol version required for theget_data_devicefunction.
π Detailed Description π
data transfer interface. So real.
okay so wl_data_device_manager is a singleton global object that provides access to inter-client data transfer mechanisms such as copy-and-paste and drag-and-drop. These mechanisms are tied to a wl_seat, and this interface lets a client get a wl_data_device corresponding to a wl_seat. Thatβs the whole vibe: seats and data devices, linked up and serving looks. β¨
Depending on the version bound, the objects created from the bound wl_data_device_manager object will have different requirements for functioning properly. See wl_data_source.set_actions, wl_data_offer.accept and wl_data_offer.finish for details.
Definition at line 1420 of file wayland-client-protocol.hpp.
π Member Enumeration Documentation π
enum class wayland::proxy_t::wrapper_type [strong], [inherited]
Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling. Yes, this enum is doing a lot of emotional labor π
Enumerator
standardβ C pointer is a standard type compatible withwl_proxy*. Events are dispatched and it is destructed when theproxy_tis destructed. User data is set.displayβ C pointer is awl_display*. No events are dispatched,wl_display_disconnectis called when theproxy_tis destructed. User data is set.foreignβ C pointer is a standard type compatible withwl_proxy*, but another library owns it and it should not be touched in a way that could affect the operation of the other library. No events are dispatched,wl_proxy_destroyis not called when theproxy_tis destructed, user data is not touched. Consequently, there is no reference counting for theproxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy thewl_proxy.proxy_wrapperβ C pointer is awl_proxy*that was constructed withwl_proxy_create_wrapper. No events are dispatched,wl_proxy_wrapper_destroyis called when theproxy_tis destroyed. Reference counting is active. A reference to theproxy_tcreating this proxy wrapper is held to extend its lifetime until after the proxy wrapper is destroyed.
Definition at line 117 of file wayland-client.hpp.
π₯ Member Function Documentation π₯
wl_proxy * wayland::proxy_t::c_ptr () const [inherited]
Get a pointer to the underlying C struct.
Returns: The underlying wl_proxy wrapped by this proxy_t if it exists, otherwise an exception is thrown.
data_source_t data_device_manager_t::create_data_source ()
create a new data source.
Returns: data source to create.
Create a new data source. Slay.
Definition at line 2401 of file wayland-client-protocol.cpp.
std::string wayland::proxy_t::get_class () const [inherited]
Get the interface name (class) of a proxy object.
Returns: The interface name of the object associated with the proxy.
data_device_t data_device_manager_t::get_data_device (seat_t const & seat)
create a new data device.
Returns: data device to create.
Parameters: seat β seat associated with the data device.
Create a new data device for a given seat.
Definition at line 2408 of file wayland-client-protocol.cpp.
uint32_t wayland::proxy_t::get_id () const [inherited]
Get the id of a proxy object.
Returns: The id the object associated with the proxy.
uint32_t wayland::proxy_t::get_version () const [inherited]
Get the protocol object version of a proxy object. Gets the protocol object version of a proxy object, or 0 if the proxy was created with unversioned API.
A returned value of 0 means that no version information is available, so the caller must make safe assumptions about the object's real version.
display_t will always return version 0.
Returns: The protocol object version of the proxy or 0.
wrapper_type wayland::proxy_t::get_wrapper_type () const [inline], [inherited]
Get the type of a proxy object.
Definition at line 303 of file wayland-client.hpp.
wayland::proxy_t::operator bool () const [inherited]
Check whether this wrapper actually wraps an object.
Returns: true if there is an underlying object, false if this wrapper is empty.
bool wayland::proxy_t::operator!= (const proxy_t & right) const [inherited]
Check whether two wrappers refer to different objects.
bool wayland::proxy_t::operator== (const proxy_t & right) const [inherited]
Check whether two wrappers refer to the same object.
bool wayland::proxy_t::proxy_has_object () const [inherited]
Check whether this wrapper actually wraps an object.
Returns: true if there is an underlying object, false if this wrapper is empty.
void wayland::proxy_t::proxy_release () [inherited]
Release the wrapped object (if any), making this an empty wrapper. Note that display_t instances cannot be released this way. Attempts to do so are ignored.
Examples: foreign_display.cpp.
void wayland::proxy_t::set_queue (event_queue_t queue) [inherited]
Assign a proxy to an event queue.
Parameters: queue β The event queue that will handle this proxy.
Assign proxy to event queue. Events coming from proxy will be queued in queue instead of the display's main queue.
See also: display_t::dispatch_queue().
Examples: proxy_wrapper.cpp.
β Member Data Documentation β
std::uint32_t wayland::data_device_manager_t::create_data_source_since_version = 1 [static], [constexpr]
Minimum protocol version required for the create_data_source function.
Definition at line 1452 of file wayland-client-protocol.hpp.
std::uint32_t wayland::data_device_manager_t::get_data_device_since_version = 1 [static], [constexpr]
Minimum protocol version required for the get_data_device function.
Definition at line 1465 of file wayland-client-protocol.hpp.
π«Ά Author π«Ά
Generated automatically by Doxygen for Wayland++ from the source code. (yes, the author is a robot and it ate π )
π Thatβs the whole page, bestie β Wayland++ manual, Version 1.0.1, dated Fri Mar 27 2026. Go off and manage those data devices, periodt. π β¨
π¦ where this page comes from
- ubuntu stonking: waylandpp-dev 1.0.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms