v0.6.0 d4696de

drmlease.go RawHistoryFolder

1// Code generated by wlgen; DO NOT EDIT.
2package drmlease
3
4import (
5	"fmt"
6	"github.com/bnema/purego-libwayland/server"
7	"runtime"
8)
9
10var WpDrmLeaseDeviceV1Interface *server.Interface
11var WpDrmLeaseConnectorV1Interface *server.Interface
12var WpDrmLeaseRequestV1Interface *server.Interface
13var WpDrmLeaseV1Interface *server.Interface
14
15func init() {
16	WpDrmLeaseDeviceV1Interface = &server.Interface{Name: "wp_drm_lease_device_v1", Version: 1}
17	WpDrmLeaseConnectorV1Interface = &server.Interface{Name: "wp_drm_lease_connector_v1", Version: 1}
18	WpDrmLeaseRequestV1Interface = &server.Interface{Name: "wp_drm_lease_request_v1", Version: 1}
19	WpDrmLeaseV1Interface = &server.Interface{Name: "wp_drm_lease_v1", Version: 1}
20	WpDrmLeaseDeviceV1Interface.Requests = []server.Message{
21		{Name: "create_lease_request", Signature: "n", Types: []*server.Interface{WpDrmLeaseRequestV1Interface}},
22		{Name: "release", Signature: "", Types: []*server.Interface{}},
23	}
24	WpDrmLeaseDeviceV1Interface.Events = []server.Message{
25		{Name: "drm_fd", Signature: "h", Types: []*server.Interface{nil}},
26		{Name: "connector", Signature: "n", Types: []*server.Interface{WpDrmLeaseConnectorV1Interface}},
27		{Name: "done", Signature: "", Types: []*server.Interface{}},
28		{Name: "released", Signature: "", Types: []*server.Interface{}},
29	}
30	WpDrmLeaseConnectorV1Interface.Requests = []server.Message{
31		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
32	}
33	WpDrmLeaseConnectorV1Interface.Events = []server.Message{
34		{Name: "name", Signature: "s", Types: []*server.Interface{nil}},
35		{Name: "description", Signature: "s", Types: []*server.Interface{nil}},
36		{Name: "connector_id", Signature: "u", Types: []*server.Interface{nil}},
37		{Name: "done", Signature: "", Types: []*server.Interface{}},
38		{Name: "withdrawn", Signature: "", Types: []*server.Interface{}},
39	}
40	WpDrmLeaseRequestV1Interface.Requests = []server.Message{
41		{Name: "request_connector", Signature: "o", Types: []*server.Interface{WpDrmLeaseConnectorV1Interface}},
42		{Name: "submit", Signature: "n", Types: []*server.Interface{WpDrmLeaseV1Interface}},
43	}
44	WpDrmLeaseRequestV1Interface.Events = []server.Message{}
45	WpDrmLeaseV1Interface.Requests = []server.Message{
46		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
47	}
48	WpDrmLeaseV1Interface.Events = []server.Message{
49		{Name: "lease_fd", Signature: "h", Types: []*server.Interface{nil}},
50		{Name: "finished", Signature: "", Types: []*server.Interface{}},
51	}
52	if err := server.NewInterfaces(WpDrmLeaseDeviceV1Interface, WpDrmLeaseConnectorV1Interface, WpDrmLeaseRequestV1Interface, WpDrmLeaseV1Interface); err != nil {
53		panic(err)
54	}
55}
56
57// WpDrmLeaseDeviceV1 lease device.
58type WpDrmLeaseDeviceV1 struct{ *server.Resource }
59
60func WrapWpDrmLeaseDeviceV1(r *server.Resource) *WpDrmLeaseDeviceV1 {
61	if r == nil {
62		return nil
63	}
64	return &WpDrmLeaseDeviceV1{r}
65}
66
67const WpDrmLeaseDeviceV1RequestCreateLeaseRequest uint32 = 0
68const WpDrmLeaseDeviceV1RequestRelease uint32 = 1
69const WpDrmLeaseDeviceV1EventDrmFd uint32 = 0
70const WpDrmLeaseDeviceV1EventConnector uint32 = 1
71const WpDrmLeaseDeviceV1EventDone uint32 = 2
72const WpDrmLeaseDeviceV1EventReleased uint32 = 3
73
74// WpDrmLeaseDeviceV1Handler handles wp_drm_lease_device_v1 requests.
75type WpDrmLeaseDeviceV1Handler interface {
76	CreateLeaseRequest(self *WpDrmLeaseDeviceV1, id uint32)
77	Release(self *WpDrmLeaseDeviceV1)
78}
79
80func NewWpDrmLeaseDeviceV1(c server.Client, version int32, id uint32, h WpDrmLeaseDeviceV1Handler) (*WpDrmLeaseDeviceV1, error) {
81	if h == nil {
82		return nil, fmt.Errorf("purego-libwayland: nil handler for wp_drm_lease_device_v1")
83	}
84	var self *WpDrmLeaseDeviceV1
85	r, err := c.CreateResource(WpDrmLeaseDeviceV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
86		switch opcode {
87		case 0:
88			h.CreateLeaseRequest(self, args[0].NewID())
89		case 1:
90			h.Release(self)
91		}
92	})
93	if err != nil {
94		return nil, err
95	}
96	self = WrapWpDrmLeaseDeviceV1(r)
97	r.Data = self
98	return self, nil
99}
100
101// SendDrmFd open a non-master fd for this DRM node.
102func (self *WpDrmLeaseDeviceV1) SendDrmFd(fd int) {
103	self.PostEvent(WpDrmLeaseDeviceV1EventDrmFd, server.Fd(fd))
104}
105
106// SendConnector advertise connectors available for leases.
107func (self *WpDrmLeaseDeviceV1) SendConnector(id *WpDrmLeaseConnectorV1) {
108	self.PostEvent(WpDrmLeaseDeviceV1EventConnector, server.NewID(resourceOf(id)))
109}
110
111// SendDone signals grouping of connectors.
112func (self *WpDrmLeaseDeviceV1) SendDone() {
113	self.PostEvent(WpDrmLeaseDeviceV1EventDone)
114}
115
116// SendReleased the compositor has finished using the device.
117func (self *WpDrmLeaseDeviceV1) SendReleased() {
118	self.PostEvent(WpDrmLeaseDeviceV1EventReleased)
119}
120func NewWpDrmLeaseDeviceV1Global(d *server.Display, version int32, bind server.BindFunc) error {
121	return d.CreateGlobal(WpDrmLeaseDeviceV1Interface, version, bind)
122}
123
124// WpDrmLeaseConnectorV1 a leasable DRM connector.
125type WpDrmLeaseConnectorV1 struct{ *server.Resource }
126
127func WrapWpDrmLeaseConnectorV1(r *server.Resource) *WpDrmLeaseConnectorV1 {
128	if r == nil {
129		return nil
130	}
131	return &WpDrmLeaseConnectorV1{r}
132}
133
134const WpDrmLeaseConnectorV1RequestDestroy uint32 = 0
135const WpDrmLeaseConnectorV1EventName uint32 = 0
136const WpDrmLeaseConnectorV1EventDescription uint32 = 1
137const WpDrmLeaseConnectorV1EventConnectorId uint32 = 2
138const WpDrmLeaseConnectorV1EventDone uint32 = 3
139const WpDrmLeaseConnectorV1EventWithdrawn uint32 = 4
140
141// WpDrmLeaseConnectorV1Handler handles wp_drm_lease_connector_v1 requests.
142type WpDrmLeaseConnectorV1Handler interface {
143	Destroy(self *WpDrmLeaseConnectorV1)
144}
145
146func NewWpDrmLeaseConnectorV1(c server.Client, version int32, id uint32, h WpDrmLeaseConnectorV1Handler) (*WpDrmLeaseConnectorV1, error) {
147	if h == nil {
148		return nil, fmt.Errorf("purego-libwayland: nil handler for wp_drm_lease_connector_v1")
149	}
150	var self *WpDrmLeaseConnectorV1
151	r, err := c.CreateResource(WpDrmLeaseConnectorV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
152		switch opcode {
153		case 0:
154			h.Destroy(self)
155			self.Destroy()
156		}
157	})
158	if err != nil {
159		return nil, err
160	}
161	self = WrapWpDrmLeaseConnectorV1(r)
162	r.Data = self
163	return self, nil
164}
165
166// SendName name.
167func (self *WpDrmLeaseConnectorV1) SendName(name string) {
168	var p runtime.Pinner
169	defer p.Unpin()
170	self.PostEvent(WpDrmLeaseConnectorV1EventName, server.String(&p, name, false))
171}
172
173// SendDescription description.
174func (self *WpDrmLeaseConnectorV1) SendDescription(description string) {
175	var p runtime.Pinner
176	defer p.Unpin()
177	self.PostEvent(WpDrmLeaseConnectorV1EventDescription, server.String(&p, description, false))
178}
179
180// SendConnectorId connector_id.
181func (self *WpDrmLeaseConnectorV1) SendConnectorId(connectorId uint32) {
182	self.PostEvent(WpDrmLeaseConnectorV1EventConnectorId, server.Uint(connectorId))
183}
184
185// SendDone all properties have been sent.
186func (self *WpDrmLeaseConnectorV1) SendDone() {
187	self.PostEvent(WpDrmLeaseConnectorV1EventDone)
188}
189
190// SendWithdrawn lease offer withdrawn.
191func (self *WpDrmLeaseConnectorV1) SendWithdrawn() {
192	self.PostEvent(WpDrmLeaseConnectorV1EventWithdrawn)
193}
194func NewWpDrmLeaseConnectorV1Global(d *server.Display, version int32, bind server.BindFunc) error {
195	return d.CreateGlobal(WpDrmLeaseConnectorV1Interface, version, bind)
196}
197
198// WpDrmLeaseRequestV1 DRM lease request.
199type WpDrmLeaseRequestV1 struct{ *server.Resource }
200
201func WrapWpDrmLeaseRequestV1(r *server.Resource) *WpDrmLeaseRequestV1 {
202	if r == nil {
203		return nil
204	}
205	return &WpDrmLeaseRequestV1{r}
206}
207
208const WpDrmLeaseRequestV1RequestRequestConnector uint32 = 0
209const WpDrmLeaseRequestV1RequestSubmit uint32 = 1
210
211// WpDrmLeaseRequestV1Error .
212type WpDrmLeaseRequestV1Error uint32
213
214const (
215	WpDrmLeaseRequestV1ErrorWrongDevice        WpDrmLeaseRequestV1Error = 0
216	WpDrmLeaseRequestV1ErrorDuplicateConnector WpDrmLeaseRequestV1Error = 1
217	WpDrmLeaseRequestV1ErrorEmptyLease         WpDrmLeaseRequestV1Error = 2
218)
219
220// WpDrmLeaseRequestV1Handler handles wp_drm_lease_request_v1 requests.
221type WpDrmLeaseRequestV1Handler interface {
222	RequestConnector(self *WpDrmLeaseRequestV1, connector *WpDrmLeaseConnectorV1)
223	Submit(self *WpDrmLeaseRequestV1, id uint32)
224}
225
226func NewWpDrmLeaseRequestV1(c server.Client, version int32, id uint32, h WpDrmLeaseRequestV1Handler) (*WpDrmLeaseRequestV1, error) {
227	if h == nil {
228		return nil, fmt.Errorf("purego-libwayland: nil handler for wp_drm_lease_request_v1")
229	}
230	var self *WpDrmLeaseRequestV1
231	r, err := c.CreateResource(WpDrmLeaseRequestV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
232		switch opcode {
233		case 0:
234			h.RequestConnector(self, WrapWpDrmLeaseConnectorV1(args[0].Resource()))
235		case 1:
236			h.Submit(self, args[0].NewID())
237			self.Destroy()
238		}
239	})
240	if err != nil {
241		return nil, err
242	}
243	self = WrapWpDrmLeaseRequestV1(r)
244	r.Data = self
245	return self, nil
246}
247func NewWpDrmLeaseRequestV1Global(d *server.Display, version int32, bind server.BindFunc) error {
248	return d.CreateGlobal(WpDrmLeaseRequestV1Interface, version, bind)
249}
250
251// WpDrmLeaseV1 a DRM lease.
252type WpDrmLeaseV1 struct{ *server.Resource }
253
254func WrapWpDrmLeaseV1(r *server.Resource) *WpDrmLeaseV1 {
255	if r == nil {
256		return nil
257	}
258	return &WpDrmLeaseV1{r}
259}
260
261const WpDrmLeaseV1RequestDestroy uint32 = 0
262const WpDrmLeaseV1EventLeaseFd uint32 = 0
263const WpDrmLeaseV1EventFinished uint32 = 1
264
265// WpDrmLeaseV1Handler handles wp_drm_lease_v1 requests.
266type WpDrmLeaseV1Handler interface {
267	Destroy(self *WpDrmLeaseV1)
268}
269
270func NewWpDrmLeaseV1(c server.Client, version int32, id uint32, h WpDrmLeaseV1Handler) (*WpDrmLeaseV1, error) {
271	if h == nil {
272		return nil, fmt.Errorf("purego-libwayland: nil handler for wp_drm_lease_v1")
273	}
274	var self *WpDrmLeaseV1
275	r, err := c.CreateResource(WpDrmLeaseV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
276		switch opcode {
277		case 0:
278			h.Destroy(self)
279			self.Destroy()
280		}
281	})
282	if err != nil {
283		return nil, err
284	}
285	self = WrapWpDrmLeaseV1(r)
286	r.Data = self
287	return self, nil
288}
289
290// SendLeaseFd shares the DRM file descriptor.
291func (self *WpDrmLeaseV1) SendLeaseFd(leasedFd int) {
292	self.PostEvent(WpDrmLeaseV1EventLeaseFd, server.Fd(leasedFd))
293}
294
295// SendFinished sent when the lease has been revoked.
296func (self *WpDrmLeaseV1) SendFinished() {
297	self.PostEvent(WpDrmLeaseV1EventFinished)
298}
299func NewWpDrmLeaseV1Global(d *server.Display, version int32, bind server.BindFunc) error {
300	return d.CreateGlobal(WpDrmLeaseV1Interface, version, bind)
301}
302func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
303	if v == nil {
304		return nil
305	}
306	return v.GetResource()
307}
308func (self *WpDrmLeaseDeviceV1) GetResource() *server.Resource {
309	if self == nil {
310		return nil
311	}
312	return self.Resource
313}
314func (self *WpDrmLeaseConnectorV1) GetResource() *server.Resource {
315	if self == nil {
316		return nil
317	}
318	return self.Resource
319}
320func (self *WpDrmLeaseRequestV1) GetResource() *server.Resource {
321	if self == nil {
322		return nil
323	}
324	return self.Resource
325}
326func (self *WpDrmLeaseV1) GetResource() *server.Resource {
327	if self == nil {
328		return nil
329	}
330	return self.Resource
331}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 14

↑↓ moveenter openesc close