#[non_exhaustive]pub enum Request {
Destroy,
DestroyRegistry {
registry: WlRegistry,
},
AckGlobalRemove {
registry: WlRegistry,
name: u32,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Destroy
destroys this object
This is a destructor, once received this object cannot be used any longer.
DestroyRegistry
destroy a wl_registry
This request destroys a wl_registry object.
The client should no longer use the wl_registry after making this request.
The compositor will emit a wl_display.delete_id event with the object ID of the registry and will no longer emit any events on the registry. The client should re-use the object ID once it receives the wl_display.delete_id event.
Fields
registry: WlRegistrythe registry to destroy
AckGlobalRemove
acknowledge global removal
Acknowledge the removal of the specified global.
If no global with the specified name exists or the global is not removed, the wl_fixes.invalid_ack_remove protocol error will be posted.
Due to the Wayland protocol being asynchronous, the wl_global objects cannot be destroyed immediately. For example, if a wl_global is removed and a client attempts to bind that global around same time, it can result in a protocol error due to an unknown global name in the bind request.
In order to avoid crashing clients, the compositor should remove the wl_global once it is guaranteed that no more bind requests will come.
The wl_fixes.ack_global_remove() request is used to signal to the compositor that the client will not bind the given global anymore. After all clients acknowledge the removal of the global, the compositor can safely destroy it.
The client must call the wl_fixes.ack_global_remove() request in response to a wl_registry.global_remove() event even if it did not bind the corresponding global.
Only available since version 2 of the interface