1// Code generated by wlgen; DO NOT EDIT.
2package extimagecapturesource
3
4import (
5 "fmt"
6 extforeigntoplevellist "github.com/bnema/purego-libwayland/protocol/extforeigntoplevellist"
7 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
8 "github.com/bnema/purego-libwayland/server"
9)
10
11var ExtImageCaptureSourceV1Interface *server.Interface
12var ExtOutputImageCaptureSourceManagerV1Interface *server.Interface
13var ExtForeignToplevelImageCaptureSourceManagerV1Interface *server.Interface
14
15func init() {
16 ExtImageCaptureSourceV1Interface = &server.Interface{Name: "ext_image_capture_source_v1", Version: 1}
17 ExtOutputImageCaptureSourceManagerV1Interface = &server.Interface{Name: "ext_output_image_capture_source_manager_v1", Version: 1}
18 ExtForeignToplevelImageCaptureSourceManagerV1Interface = &server.Interface{Name: "ext_foreign_toplevel_image_capture_source_manager_v1", Version: 1}
19 ExtImageCaptureSourceV1Interface.Requests = []server.Message{
20 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
21 }
22 ExtImageCaptureSourceV1Interface.Events = []server.Message{}
23 ExtOutputImageCaptureSourceManagerV1Interface.Requests = []server.Message{
24 {Name: "create_source", Signature: "no", Types: []*server.Interface{ExtImageCaptureSourceV1Interface, wayland.OutputInterface}},
25 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
26 }
27 ExtOutputImageCaptureSourceManagerV1Interface.Events = []server.Message{}
28 ExtForeignToplevelImageCaptureSourceManagerV1Interface.Requests = []server.Message{
29 {Name: "create_source", Signature: "no", Types: []*server.Interface{ExtImageCaptureSourceV1Interface, extforeigntoplevellist.ExtForeignToplevelHandleV1Interface}},
30 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
31 }
32 ExtForeignToplevelImageCaptureSourceManagerV1Interface.Events = []server.Message{}
33 if err := server.NewInterfaces(ExtImageCaptureSourceV1Interface, ExtOutputImageCaptureSourceManagerV1Interface, ExtForeignToplevelImageCaptureSourceManagerV1Interface); err != nil {
34 panic(err)
35 }
36}
37
38// ExtImageCaptureSourceV1 opaque image capture source object.
39type ExtImageCaptureSourceV1 struct{ *server.Resource }
40
41func WrapExtImageCaptureSourceV1(r *server.Resource) *ExtImageCaptureSourceV1 {
42 if r == nil {
43 return nil
44 }
45 return &ExtImageCaptureSourceV1{r}
46}
47
48const ExtImageCaptureSourceV1RequestDestroy uint32 = 0
49
50// ExtImageCaptureSourceV1Handler handles ext_image_capture_source_v1 requests.
51type ExtImageCaptureSourceV1Handler interface {
52 Destroy(self *ExtImageCaptureSourceV1)
53}
54
55func NewExtImageCaptureSourceV1(c server.Client, version int32, id uint32, h ExtImageCaptureSourceV1Handler) (*ExtImageCaptureSourceV1, error) {
56 if h == nil {
57 return nil, fmt.Errorf("purego-libwayland: nil handler for ext_image_capture_source_v1")
58 }
59 var self *ExtImageCaptureSourceV1
60 r, err := c.CreateResource(ExtImageCaptureSourceV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
61 switch opcode {
62 case 0:
63 h.Destroy(self)
64 self.Destroy()
65 }
66 })
67 if err != nil {
68 return nil, err
69 }
70 self = WrapExtImageCaptureSourceV1(r)
71 r.Data = self
72 return self, nil
73}
74func NewExtImageCaptureSourceV1Global(d *server.Display, version int32, bind server.BindFunc) error {
75 return d.CreateGlobal(ExtImageCaptureSourceV1Interface, version, bind)
76}
77
78// ExtOutputImageCaptureSourceManagerV1 image capture source manager for outputs.
79type ExtOutputImageCaptureSourceManagerV1 struct{ *server.Resource }
80
81func WrapExtOutputImageCaptureSourceManagerV1(r *server.Resource) *ExtOutputImageCaptureSourceManagerV1 {
82 if r == nil {
83 return nil
84 }
85 return &ExtOutputImageCaptureSourceManagerV1{r}
86}
87
88const ExtOutputImageCaptureSourceManagerV1RequestCreateSource uint32 = 0
89const ExtOutputImageCaptureSourceManagerV1RequestDestroy uint32 = 1
90
91// ExtOutputImageCaptureSourceManagerV1Handler handles ext_output_image_capture_source_manager_v1 requests.
92type ExtOutputImageCaptureSourceManagerV1Handler interface {
93 CreateSource(self *ExtOutputImageCaptureSourceManagerV1, source uint32, output *wayland.Output)
94 Destroy(self *ExtOutputImageCaptureSourceManagerV1)
95}
96
97func NewExtOutputImageCaptureSourceManagerV1(c server.Client, version int32, id uint32, h ExtOutputImageCaptureSourceManagerV1Handler) (*ExtOutputImageCaptureSourceManagerV1, error) {
98 if h == nil {
99 return nil, fmt.Errorf("purego-libwayland: nil handler for ext_output_image_capture_source_manager_v1")
100 }
101 var self *ExtOutputImageCaptureSourceManagerV1
102 r, err := c.CreateResource(ExtOutputImageCaptureSourceManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
103 switch opcode {
104 case 0:
105 h.CreateSource(self, args[0].NewID(), wayland.WrapOutput(args[1].Resource()))
106 case 1:
107 h.Destroy(self)
108 self.Destroy()
109 }
110 })
111 if err != nil {
112 return nil, err
113 }
114 self = WrapExtOutputImageCaptureSourceManagerV1(r)
115 r.Data = self
116 return self, nil
117}
118func NewExtOutputImageCaptureSourceManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
119 return d.CreateGlobal(ExtOutputImageCaptureSourceManagerV1Interface, version, bind)
120}
121
122// ExtForeignToplevelImageCaptureSourceManagerV1 image capture source manager for foreign toplevels.
123type ExtForeignToplevelImageCaptureSourceManagerV1 struct{ *server.Resource }
124
125func WrapExtForeignToplevelImageCaptureSourceManagerV1(r *server.Resource) *ExtForeignToplevelImageCaptureSourceManagerV1 {
126 if r == nil {
127 return nil
128 }
129 return &ExtForeignToplevelImageCaptureSourceManagerV1{r}
130}
131
132const ExtForeignToplevelImageCaptureSourceManagerV1RequestCreateSource uint32 = 0
133const ExtForeignToplevelImageCaptureSourceManagerV1RequestDestroy uint32 = 1
134
135// ExtForeignToplevelImageCaptureSourceManagerV1Handler handles ext_foreign_toplevel_image_capture_source_manager_v1 requests.
136type ExtForeignToplevelImageCaptureSourceManagerV1Handler interface {
137 CreateSource(self *ExtForeignToplevelImageCaptureSourceManagerV1, source uint32, toplevelHandle *extforeigntoplevellist.ExtForeignToplevelHandleV1)
138 Destroy(self *ExtForeignToplevelImageCaptureSourceManagerV1)
139}
140
141func NewExtForeignToplevelImageCaptureSourceManagerV1(c server.Client, version int32, id uint32, h ExtForeignToplevelImageCaptureSourceManagerV1Handler) (*ExtForeignToplevelImageCaptureSourceManagerV1, error) {
142 if h == nil {
143 return nil, fmt.Errorf("purego-libwayland: nil handler for ext_foreign_toplevel_image_capture_source_manager_v1")
144 }
145 var self *ExtForeignToplevelImageCaptureSourceManagerV1
146 r, err := c.CreateResource(ExtForeignToplevelImageCaptureSourceManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
147 switch opcode {
148 case 0:
149 h.CreateSource(self, args[0].NewID(), extforeigntoplevellist.WrapExtForeignToplevelHandleV1(args[1].Resource()))
150 case 1:
151 h.Destroy(self)
152 self.Destroy()
153 }
154 })
155 if err != nil {
156 return nil, err
157 }
158 self = WrapExtForeignToplevelImageCaptureSourceManagerV1(r)
159 r.Data = self
160 return self, nil
161}
162func NewExtForeignToplevelImageCaptureSourceManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
163 return d.CreateGlobal(ExtForeignToplevelImageCaptureSourceManagerV1Interface, version, bind)
164}
165func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
166 if v == nil {
167 return nil
168 }
169 return v.GetResource()
170}
171func (self *ExtImageCaptureSourceV1) GetResource() *server.Resource {
172 if self == nil {
173 return nil
174 }
175 return self.Resource
176}
177func (self *ExtOutputImageCaptureSourceManagerV1) GetResource() *server.Resource {
178 if self == nil {
179 return nil
180 }
181 return self.Resource
182}
183func (self *ExtForeignToplevelImageCaptureSourceManagerV1) GetResource() *server.Resource {
184 if self == nil {
185 return nil
186 }
187 return self.Resource
188}