1// Code generated by wlgen; DO NOT EDIT.
2package idleinhibit
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8)
9
10var ZwpIdleInhibitManagerV1Interface *server.Interface
11var ZwpIdleInhibitorV1Interface *server.Interface
12
13func init() {
14 ZwpIdleInhibitManagerV1Interface = &server.Interface{Name: "zwp_idle_inhibit_manager_v1", Version: 1}
15 ZwpIdleInhibitorV1Interface = &server.Interface{Name: "zwp_idle_inhibitor_v1", Version: 1}
16 ZwpIdleInhibitManagerV1Interface.Requests = []server.Message{
17 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
18 {Name: "create_inhibitor", Signature: "no", Types: []*server.Interface{ZwpIdleInhibitorV1Interface, wayland.SurfaceInterface}},
19 }
20 ZwpIdleInhibitManagerV1Interface.Events = []server.Message{}
21 ZwpIdleInhibitorV1Interface.Requests = []server.Message{
22 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
23 }
24 ZwpIdleInhibitorV1Interface.Events = []server.Message{}
25 if err := server.NewInterfaces(ZwpIdleInhibitManagerV1Interface, ZwpIdleInhibitorV1Interface); err != nil {
26 panic(err)
27 }
28}
29
30// ZwpIdleInhibitManagerV1 control behavior when display idles.
31type ZwpIdleInhibitManagerV1 struct{ *server.Resource }
32
33func WrapZwpIdleInhibitManagerV1(r *server.Resource) *ZwpIdleInhibitManagerV1 {
34 if r == nil {
35 return nil
36 }
37 return &ZwpIdleInhibitManagerV1{r}
38}
39
40const ZwpIdleInhibitManagerV1RequestDestroy uint32 = 0
41const ZwpIdleInhibitManagerV1RequestCreateInhibitor uint32 = 1
42
43// ZwpIdleInhibitManagerV1Handler handles zwp_idle_inhibit_manager_v1 requests.
44type ZwpIdleInhibitManagerV1Handler interface {
45 Destroy(self *ZwpIdleInhibitManagerV1)
46 CreateInhibitor(self *ZwpIdleInhibitManagerV1, id uint32, surface *wayland.Surface)
47}
48
49func NewZwpIdleInhibitManagerV1(c server.Client, version int32, id uint32, h ZwpIdleInhibitManagerV1Handler) (*ZwpIdleInhibitManagerV1, error) {
50 if h == nil {
51 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_idle_inhibit_manager_v1")
52 }
53 var self *ZwpIdleInhibitManagerV1
54 r, err := c.CreateResource(ZwpIdleInhibitManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
55 switch opcode {
56 case 0:
57 h.Destroy(self)
58 self.Destroy()
59 case 1:
60 h.CreateInhibitor(self, args[0].NewID(), wayland.WrapSurface(args[1].Resource()))
61 }
62 })
63 if err != nil {
64 return nil, err
65 }
66 self = WrapZwpIdleInhibitManagerV1(r)
67 r.Data = self
68 return self, nil
69}
70func NewZwpIdleInhibitManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
71 return d.CreateGlobal(ZwpIdleInhibitManagerV1Interface, version, bind)
72}
73
74// ZwpIdleInhibitorV1 context object for inhibiting idle behavior.
75type ZwpIdleInhibitorV1 struct{ *server.Resource }
76
77func WrapZwpIdleInhibitorV1(r *server.Resource) *ZwpIdleInhibitorV1 {
78 if r == nil {
79 return nil
80 }
81 return &ZwpIdleInhibitorV1{r}
82}
83
84const ZwpIdleInhibitorV1RequestDestroy uint32 = 0
85
86// ZwpIdleInhibitorV1Handler handles zwp_idle_inhibitor_v1 requests.
87type ZwpIdleInhibitorV1Handler interface {
88 Destroy(self *ZwpIdleInhibitorV1)
89}
90
91func NewZwpIdleInhibitorV1(c server.Client, version int32, id uint32, h ZwpIdleInhibitorV1Handler) (*ZwpIdleInhibitorV1, error) {
92 if h == nil {
93 return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_idle_inhibitor_v1")
94 }
95 var self *ZwpIdleInhibitorV1
96 r, err := c.CreateResource(ZwpIdleInhibitorV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
97 switch opcode {
98 case 0:
99 h.Destroy(self)
100 self.Destroy()
101 }
102 })
103 if err != nil {
104 return nil, err
105 }
106 self = WrapZwpIdleInhibitorV1(r)
107 r.Data = self
108 return self, nil
109}
110func NewZwpIdleInhibitorV1Global(d *server.Display, version int32, bind server.BindFunc) error {
111 return d.CreateGlobal(ZwpIdleInhibitorV1Interface, version, bind)
112}
113func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
114 if v == nil {
115 return nil
116 }
117 return v.GetResource()
118}
119func (self *ZwpIdleInhibitManagerV1) GetResource() *server.Resource {
120 if self == nil {
121 return nil
122 }
123 return self.Resource
124}
125func (self *ZwpIdleInhibitorV1) GetResource() *server.Resource {
126 if self == nil {
127 return nil
128 }
129 return self.Resource
130}