wayland_server_registry_t - Man Page

global registry object


#include <wayland-server-protocol.hpp>

Inherits wayland::server::resource_t.

Public Member Functions

std::function< void(uint32_t, resource_t)> & on_bind ()
bind an object to the display
void global (uint32_t name, std::string const &interface, uint32_t version, bool post=true)
announce global object
void global_remove (uint32_t name, bool post=true)
announce removal of global object
bool proxy_has_object () const
Check whether this wrapper actually wraps an object.
void post_no_memory () const
uint32_t get_id () const
client_t get_client () const
unsigned int get_version () const
std::string get_class ()

Static Public Attributes

static constexpr std::uint32_t global_since_version = 1
Minimum protocol version required for the global function.
static constexpr std::uint32_t global_remove_since_version = 1
Minimum protocol version required for the global_remove function.

Detailed Description

global registry object

The singleton global registry object. The server has a number of global objects that are available to all clients. These objects typically represent an actual object in the server (for example, an input device) or they are singleton objects that provide extension functionality.

When a client creates a registry object, the registry object will emit a global event for each global currently in the registry. Globals come and go as a result of device or monitor hotplugs, reconfiguration or other events, and the registry will send out global and global_remove events to keep the client up to date with the changes. To mark the end of the initial burst of events, the client can use the wl_display.sync request immediately after calling wl_display.get_registry.

A client can bind to a global object by using the bind request. This creates a client-side handle that lets the object emit events to the client and lets the client invoke requests on the object.

Definition at line 134 of file wayland-server-protocol.hpp.

Member Function Documentation

std::string wayland::server::resource_t::get_class () [inherited]

Retrieve the interface name (class) of a resource object.


Interface name of the resource object.

client_t wayland::server::resource_t::get_client () const [inherited]

Get the associated client


the client that owns the resource.

uint32_t wayland::server::resource_t::get_id () const [inherited]

Get the internal ID of the resource


the internal ID of the resource

unsigned int wayland::server::resource_t::get_version () const [inherited]

Get interface version


Interface version this resource has been constructed with.

void registry_t::global (uint32_t name, std::string const & interface, uint32_t version, bool post = true)

announce global object


name numeric name of the global object
interface interface implemented by the object
version interface version

Notify the client of global objects.

The event notifies the client that a global object with the given name is now available, and it implements the given version of the given interface.

Definition at line 1576 of file wayland-server-protocol.cpp.

void registry_t::global_remove (uint32_t name, bool post = true)

announce removal of global object


name numeric name of the global object

Notify the client of removed global objects.

This event notifies the client that the global identified by name is no longer available. If the client bound to the global using the bind request, the client should now destroy that object.

The object remains valid and requests to the object will be ignored until the client destroys it, to avoid races between the global going away and a client sending a request to it.

Definition at line 1581 of file wayland-server-protocol.cpp.

std::function< void(uint32_t, resource_t)> & registry_t::on_bind ()

bind an object to the display


name unique numeric name of the object
id bounded object

Binds a new, client-created object to the server using the specified name as the identifier.

Definition at line 1570 of file wayland-server-protocol.cpp.

void wayland::server::resource_t::post_no_memory () const [inherited]

Post 'not enough memory' error to the client

If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance.

bool wayland::server::resource_t::proxy_has_object () const [inherited]

Check whether this wrapper actually wraps an object.


true if there is an underlying object, false if this wrapper is empty

Member Data Documentation

constexpr std::uint32_t wayland::server::registry_t::global_remove_since_version = 1 [static], [constexpr]

Minimum protocol version required for the global_remove function.

Definition at line 207 of file wayland-server-protocol.hpp.

constexpr std::uint32_t wayland::server::registry_t::global_since_version = 1 [static], [constexpr]

Minimum protocol version required for the global function.

Definition at line 186 of file wayland-server-protocol.hpp.


Generated automatically by Doxygen for Wayland++ from the source code.


Sat Jul 22 2023 00:00:00 Version 1.0.0 Wayland++