---
name: "wayland_server_registry_t"
section: "3"
platform: "linux"
package: "waylandpp-dev"
version: "1.0.0-6+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/wayland_server_registry_t"
---

# wayland\_server\_registry\_t(3)

global registry object

## NAME

wayland::server::registry\_t - global registry object

## SYNOPSIS

`#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 **133** 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.

**Returns**

Interface name of the resource object.

### client\_t wayland::server::resource\_t::get\_client () const` [inherited]`

Get the associated client

**Returns**

the client that owns the resource.

### uint32\_t wayland::server::resource\_t::get\_id () const` [inherited]`

Get the internal ID of the resource

**Returns**

the internal ID of the resource

### unsigned int wayland::server::resource\_t::get\_version () const` [inherited]`

Get interface version

**Returns**

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

**Parameters**

*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

**Parameters**

*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

**Parameters**

*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.

**Returns**

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 **206** 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 **185** of file **wayland-server-protocol.hpp**.

## Author

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