1// Code generated by wlgen; DO NOT EDIT.
2package exttransientseat
3
4import (
5 "fmt"
6 "github.com/bnema/purego-libwayland/server"
7)
8
9var ExtTransientSeatManagerV1Interface *server.Interface
10var ExtTransientSeatV1Interface *server.Interface
11
12func init() {
13 ExtTransientSeatManagerV1Interface = &server.Interface{Name: "ext_transient_seat_manager_v1", Version: 1}
14 ExtTransientSeatV1Interface = &server.Interface{Name: "ext_transient_seat_v1", Version: 1}
15 ExtTransientSeatManagerV1Interface.Requests = []server.Message{
16 {Name: "create", Signature: "n", Types: []*server.Interface{ExtTransientSeatV1Interface}},
17 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
18 }
19 ExtTransientSeatManagerV1Interface.Events = []server.Message{}
20 ExtTransientSeatV1Interface.Requests = []server.Message{
21 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
22 }
23 ExtTransientSeatV1Interface.Events = []server.Message{
24 {Name: "ready", Signature: "u", Types: []*server.Interface{nil}},
25 {Name: "denied", Signature: "", Types: []*server.Interface{}},
26 }
27 if err := server.NewInterfaces(ExtTransientSeatManagerV1Interface, ExtTransientSeatV1Interface); err != nil {
28 panic(err)
29 }
30}
31
32// ExtTransientSeatManagerV1 transient seat manager.
33type ExtTransientSeatManagerV1 struct{ *server.Resource }
34
35func WrapExtTransientSeatManagerV1(r *server.Resource) *ExtTransientSeatManagerV1 {
36 if r == nil {
37 return nil
38 }
39 return &ExtTransientSeatManagerV1{r}
40}
41
42const ExtTransientSeatManagerV1RequestCreate uint32 = 0
43const ExtTransientSeatManagerV1RequestDestroy uint32 = 1
44
45// ExtTransientSeatManagerV1Handler handles ext_transient_seat_manager_v1 requests.
46type ExtTransientSeatManagerV1Handler interface {
47 Create(self *ExtTransientSeatManagerV1, seat uint32)
48 Destroy(self *ExtTransientSeatManagerV1)
49}
50
51func NewExtTransientSeatManagerV1(c server.Client, version int32, id uint32, h ExtTransientSeatManagerV1Handler) (*ExtTransientSeatManagerV1, error) {
52 if h == nil {
53 return nil, fmt.Errorf("purego-libwayland: nil handler for ext_transient_seat_manager_v1")
54 }
55 var self *ExtTransientSeatManagerV1
56 r, err := c.CreateResource(ExtTransientSeatManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
57 switch opcode {
58 case 0:
59 h.Create(self, args[0].NewID())
60 case 1:
61 h.Destroy(self)
62 self.Destroy()
63 }
64 })
65 if err != nil {
66 return nil, err
67 }
68 self = WrapExtTransientSeatManagerV1(r)
69 r.Data = self
70 return self, nil
71}
72func NewExtTransientSeatManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
73 return d.CreateGlobal(ExtTransientSeatManagerV1Interface, version, bind)
74}
75
76// ExtTransientSeatV1 transient seat handle.
77type ExtTransientSeatV1 struct{ *server.Resource }
78
79func WrapExtTransientSeatV1(r *server.Resource) *ExtTransientSeatV1 {
80 if r == nil {
81 return nil
82 }
83 return &ExtTransientSeatV1{r}
84}
85
86const ExtTransientSeatV1RequestDestroy uint32 = 0
87const ExtTransientSeatV1EventReady uint32 = 0
88const ExtTransientSeatV1EventDenied uint32 = 1
89
90// ExtTransientSeatV1Handler handles ext_transient_seat_v1 requests.
91type ExtTransientSeatV1Handler interface {
92 Destroy(self *ExtTransientSeatV1)
93}
94
95func NewExtTransientSeatV1(c server.Client, version int32, id uint32, h ExtTransientSeatV1Handler) (*ExtTransientSeatV1, error) {
96 if h == nil {
97 return nil, fmt.Errorf("purego-libwayland: nil handler for ext_transient_seat_v1")
98 }
99 var self *ExtTransientSeatV1
100 r, err := c.CreateResource(ExtTransientSeatV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
101 switch opcode {
102 case 0:
103 h.Destroy(self)
104 self.Destroy()
105 }
106 })
107 if err != nil {
108 return nil, err
109 }
110 self = WrapExtTransientSeatV1(r)
111 r.Data = self
112 return self, nil
113}
114
115// SendReady transient seat is ready.
116func (self *ExtTransientSeatV1) SendReady(globalName uint32) {
117 self.PostEvent(ExtTransientSeatV1EventReady, server.Uint(globalName))
118}
119
120// SendDenied transient seat creation denied.
121func (self *ExtTransientSeatV1) SendDenied() {
122 self.PostEvent(ExtTransientSeatV1EventDenied)
123}
124func NewExtTransientSeatV1Global(d *server.Display, version int32, bind server.BindFunc) error {
125 return d.CreateGlobal(ExtTransientSeatV1Interface, version, bind)
126}
127func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
128 if v == nil {
129 return nil
130 }
131 return v.GetResource()
132}
133func (self *ExtTransientSeatManagerV1) GetResource() *server.Resource {
134 if self == nil {
135 return nil
136 }
137 return self.Resource
138}
139func (self *ExtTransientSeatV1) GetResource() *server.Resource {
140 if self == nil {
141 return nil
142 }
143 return self.Resource
144}