1// Code generated by wlbgen. DO NOT EDIT.
2// Protocol: xdg_system_bell_v1
3// Source: xdg-system-bell-v1.xml
4
5// Upstream protocol copyright and license:
6// Copyright © 2016, 2023 Red Hat
7//
8// Permission is hereby granted, free of charge, to any person obtaining a
9// copy of this software and associated documentation files (the "Software"),
10// to deal in the Software without restriction, including without limitation
11// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12// and/or sell copies of the Software, and to permit persons to whom the
13// Software is furnished to do so, subject to the following conditions:
14//
15// The above copyright notice and this permission notice (including the next
16// paragraph) shall be included in all copies or substantial portions of the
17// Software.
18//
19// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25// DEALINGS IN THE SOFTWARE.
26
27package xdgsystembell
28
29import (
30 cross_wl_surface "github.com/bnema/go-wayland-bindings/client/wayland"
31 "github.com/bnema/wlturbo/wl"
32)
33
34// XdgSystemBellInterface is the protocol interface name.
35const XdgSystemBellInterface = "xdg_system_bell_v1"
36
37// XdgSystemBell is the generated binding for xdg_system_bell_v1 version 1.
38type XdgSystemBell struct {
39 wl.BaseProxy
40}
41
42// NewXdgSystemBell returns an unbound XdgSystemBell.
43func NewXdgSystemBell(ctx *wl.Context) *XdgSystemBell {
44 obj := &XdgSystemBell{}
45 obj.SetContext(ctx)
46 ctx.Register(obj)
47 return obj
48}
49
50// Notify that the object will no longer be used.
51func (o *XdgSystemBell) Destroy() error {
52 if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 0, Name: "xdg_system_bell_v1.destroy", Destructor: true}); err != nil {
53 return err
54 }
55 return nil
56}
57
58// This requests rings the system bell on behalf of a client. How ringing the bell is implemented is up to the compositor. It may be an audible sound, a visual feedback of some kind, or any other thing including nothing. The passed surface should correspond to a toplevel like surface role, or be null, meaning the client doesn't have a particular toplevel it wants to associate the bell ringing with. See the xdg-shell protocol extension for a toplevel like surface role.
59func (o *XdgSystemBell) Ring(surface *cross_wl_surface.Surface) error {
60 var arg0 wl.Object
61 if surface != nil {
62 arg0 = surface
63 }
64 if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 1, Name: "xdg_system_bell_v1.ring"}, wl.ArgObject(arg0)); err != nil {
65 return err
66 }
67 return nil
68}
69
70// EventSignature returns the declared event argument types in wire order.
71func (o *XdgSystemBell) EventSignature(opcode uint16) (string, bool) {
72 switch opcode {
73 default:
74 return "", false
75 }
76}
77
78// Dispatch decodes one event on xdg_system_bell_v1 and calls the registered handlers.
79func (o *XdgSystemBell) Dispatch(event *wl.Event) {
80 switch event.Opcode {
81 default:
82 }
83}