1// Code generated by wlbgen; DO NOT EDIT.
2
3// Upstream protocol copyright and license:
4// Copyright © 2018 Drew DeVault
5//
6// Permission to use, copy, modify, distribute, and sell this
7// software and its documentation for any purpose is hereby granted
8// without fee, provided that the above copyright notice appear in
9// all copies and that both that copyright notice and this permission
10// notice appear in supporting documentation, and that the name of
11// the copyright holders not be used in advertising or publicity
12// pertaining to distribution of the software without specific,
13// written prior permission. The copyright holders make no
14// representations about the suitability of this software for any
15// purpose. It is provided "as is" without express or implied
16// warranty.
17//
18// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25// THIS SOFTWARE.
26
27package wlrinputinhibitor
28
29import (
30 "fmt"
31 "github.com/bnema/purego-libwayland/server"
32)
33
34var ZwlrInputInhibitManagerV1Interface *server.Interface
35var ZwlrInputInhibitorV1Interface *server.Interface
36
37func init() {
38 ZwlrInputInhibitManagerV1Interface = &server.Interface{Name: "zwlr_input_inhibit_manager_v1", Version: 1}
39 ZwlrInputInhibitorV1Interface = &server.Interface{Name: "zwlr_input_inhibitor_v1", Version: 1}
40 ZwlrInputInhibitManagerV1Interface.Requests = []server.Message{
41 {Name: "get_inhibitor", Signature: "n", Types: []*server.Interface{ZwlrInputInhibitorV1Interface}},
42 }
43 ZwlrInputInhibitManagerV1Interface.Events = []server.Message{}
44 ZwlrInputInhibitorV1Interface.Requests = []server.Message{
45 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
46 }
47 ZwlrInputInhibitorV1Interface.Events = []server.Message{}
48 if err := server.NewInterfaces(ZwlrInputInhibitManagerV1Interface, ZwlrInputInhibitorV1Interface); err != nil {
49 panic(err)
50 }
51}
52
53// ZwlrInputInhibitManagerV1 inhibits input events to other clients.
54type ZwlrInputInhibitManagerV1 struct{ *server.Resource }
55
56func WrapZwlrInputInhibitManagerV1(r *server.Resource) *ZwlrInputInhibitManagerV1 {
57 if r == nil {
58 return nil
59 }
60 return &ZwlrInputInhibitManagerV1{r}
61}
62
63const ZwlrInputInhibitManagerV1RequestGetInhibitor uint32 = 0
64
65// ZwlrInputInhibitManagerV1Error .
66type ZwlrInputInhibitManagerV1Error uint32
67
68const (
69 ZwlrInputInhibitManagerV1ErrorAlreadyInhibited ZwlrInputInhibitManagerV1Error = 0
70)
71
72// ZwlrInputInhibitManagerV1Handler handles zwlr_input_inhibit_manager_v1 requests.
73type ZwlrInputInhibitManagerV1Handler interface {
74 GetInhibitor(self *ZwlrInputInhibitManagerV1, id uint32)
75}
76
77func NewZwlrInputInhibitManagerV1(c server.Client, version int32, id uint32, h ZwlrInputInhibitManagerV1Handler) (*ZwlrInputInhibitManagerV1, error) {
78 if h == nil {
79 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_input_inhibit_manager_v1")
80 }
81 var self *ZwlrInputInhibitManagerV1
82 r, err := c.CreateResource(ZwlrInputInhibitManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
83 switch opcode {
84 case 0:
85 h.GetInhibitor(self, args[0].NewID())
86 }
87 })
88 if err != nil {
89 return nil, err
90 }
91 self = WrapZwlrInputInhibitManagerV1(r)
92 r.Data = self
93 return self, nil
94}
95func NewZwlrInputInhibitManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
96 return d.CreateGlobal(ZwlrInputInhibitManagerV1Interface, version, bind)
97}
98
99// ZwlrInputInhibitorV1 inhibits input to other clients.
100type ZwlrInputInhibitorV1 struct{ *server.Resource }
101
102func WrapZwlrInputInhibitorV1(r *server.Resource) *ZwlrInputInhibitorV1 {
103 if r == nil {
104 return nil
105 }
106 return &ZwlrInputInhibitorV1{r}
107}
108
109const ZwlrInputInhibitorV1RequestDestroy uint32 = 0
110
111// ZwlrInputInhibitorV1Handler handles zwlr_input_inhibitor_v1 requests.
112type ZwlrInputInhibitorV1Handler interface {
113 Destroy(self *ZwlrInputInhibitorV1)
114}
115
116func NewZwlrInputInhibitorV1(c server.Client, version int32, id uint32, h ZwlrInputInhibitorV1Handler) (*ZwlrInputInhibitorV1, error) {
117 if h == nil {
118 return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_input_inhibitor_v1")
119 }
120 var self *ZwlrInputInhibitorV1
121 r, err := c.CreateResource(ZwlrInputInhibitorV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
122 switch opcode {
123 case 0:
124 h.Destroy(self)
125 self.Destroy()
126 }
127 })
128 if err != nil {
129 return nil, err
130 }
131 self = WrapZwlrInputInhibitorV1(r)
132 r.Data = self
133 return self, nil
134}
135func NewZwlrInputInhibitorV1Global(d *server.Display, version int32, bind server.BindFunc) error {
136 return d.CreateGlobal(ZwlrInputInhibitorV1Interface, version, bind)
137}
138func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
139 if v == nil {
140 return nil
141 }
142 return v.GetResource()
143}
144func (self *ZwlrInputInhibitManagerV1) GetResource() *server.Resource {
145 if self == nil {
146 return nil
147 }
148 return self.Resource
149}
150func (self *ZwlrInputInhibitorV1) GetResource() *server.Resource {
151 if self == nil {
152 return nil
153 }
154 return self.Resource
155}