---
name: "wayland_server_zxdg_exporter_v2_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_zxdg_exporter_v2_t"
---

# wayland\_server\_zxdg\_exporter\_v2\_t(3)

interface for exporting surfaces

## NAME

wayland::server::zxdg\_exporter\_v2\_t - interface for exporting surfaces

## SYNOPSIS

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

Inherits wayland::server::resource\_t.

### Public Member Functions

std::function\< void()\> & **on\_destroy** ()\
 destroy the xdg\_exporter object  std::function\< void(**zxdg\_exported\_v2\_t**, **surface\_t**)\> & **on\_export\_toplevel** ()\
 export a toplevel surface  void **post\_invalid\_surface** (std::string const &msg)\
 Post error: surface is not an xdg\_toplevel.  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

interface for exporting surfaces

A global interface used for exporting surfaces that can later be imported using xdg\_importer.

Definition at line **8207** of file **wayland-server-protocol-unstable.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()\> & zxdg\_exporter\_v2\_t::on\_destroy ()

destroy the xdg\_exporter object Notify the compositor that the xdg\_exporter object will no longer be used.

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

### std::function\< void(zxdg\_exported\_v2\_t, surface\_t)\> & zxdg\_exporter\_v2\_t::on\_export\_toplevel ()

export a toplevel surface

**Parameters**

*id* the new xdg\_exported object \
 *surface* the surface to export

The export\_toplevel request exports the passed surface so that it can later be imported via xdg\_importer. When called, a new xdg\_exported object will be created and xdg\_exported.handle will be sent immediately. See the corresponding interface and event for details.

A surface may be exported multiple times, and each exported handle may be used to create an xdg\_imported multiple times. Only xdg\_toplevel equivalent surfaces may be exported, otherwise an invalid\_surface protocol error is sent.

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

### void zxdg\_exporter\_v2\_t::post\_invalid\_surface (std::string const & msg)

Post error: surface is not an xdg\_toplevel.

Definition at line **7882** of file **wayland-server-protocol-unstable.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.
