---
name: "wayland_server_data_device_manager_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_data_device_manager_t"
---

# wayland\_server\_data\_device\_manager\_t(3)

data transfer interface

## NAME

wayland::server::data\_device\_manager\_t - data transfer interface

## SYNOPSIS

`#include <wayland-server-protocol.hpp>`

Inherits wayland::server::resource\_t.

### Public Member Functions

std::function\< void(**data\_source\_t**)\> & **on\_create\_data\_source** ()\
 create a new data source  std::function\< void(**data\_device\_t**, **seat\_t**)\> & **on\_get\_data\_device** ()\
 create a new data device  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** ()\

## Detailed Description

data transfer interface

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

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

### std::function\< void(data\_source\_t)\> & data\_device\_manager\_t::on\_create\_data\_source ()

create a new data source

**Parameters**

*id* data source to create

Create a new data source.

Definition at line **2169** of file **wayland-server-protocol.cpp**.

### std::function\< void(data\_device\_t, seat\_t)\> & data\_device\_manager\_t::on\_get\_data\_device ()

create a new data device

**Parameters**

*id* data device to create \
 *seat* seat associated with the data device

Create a new data device for a given seat.

Definition at line **2175** 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

## Author

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