1// Code generated by wlgen; DO NOT EDIT.
2package contenttype
3
4import (
5 "fmt"
6 wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7 "github.com/bnema/purego-libwayland/server"
8)
9
10var WpContentTypeManagerV1Interface *server.Interface
11var WpContentTypeV1Interface *server.Interface
12
13func init() {
14 WpContentTypeManagerV1Interface = &server.Interface{Name: "wp_content_type_manager_v1", Version: 1}
15 WpContentTypeV1Interface = &server.Interface{Name: "wp_content_type_v1", Version: 1}
16 WpContentTypeManagerV1Interface.Requests = []server.Message{
17 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
18 {Name: "get_surface_content_type", Signature: "no", Types: []*server.Interface{WpContentTypeV1Interface, wayland.SurfaceInterface}},
19 }
20 WpContentTypeManagerV1Interface.Events = []server.Message{}
21 WpContentTypeV1Interface.Requests = []server.Message{
22 {Name: "destroy", Signature: "", Types: []*server.Interface{}},
23 {Name: "set_content_type", Signature: "u", Types: []*server.Interface{nil}},
24 }
25 WpContentTypeV1Interface.Events = []server.Message{}
26 if err := server.NewInterfaces(WpContentTypeManagerV1Interface, WpContentTypeV1Interface); err != nil {
27 panic(err)
28 }
29}
30
31// WpContentTypeManagerV1 surface content type manager.
32type WpContentTypeManagerV1 struct{ *server.Resource }
33
34func WrapWpContentTypeManagerV1(r *server.Resource) *WpContentTypeManagerV1 {
35 if r == nil {
36 return nil
37 }
38 return &WpContentTypeManagerV1{r}
39}
40
41const WpContentTypeManagerV1RequestDestroy uint32 = 0
42const WpContentTypeManagerV1RequestGetSurfaceContentType uint32 = 1
43
44// WpContentTypeManagerV1Error .
45type WpContentTypeManagerV1Error uint32
46
47const (
48 WpContentTypeManagerV1ErrorAlreadyConstructed WpContentTypeManagerV1Error = 0
49)
50
51// WpContentTypeManagerV1Handler handles wp_content_type_manager_v1 requests.
52type WpContentTypeManagerV1Handler interface {
53 Destroy(self *WpContentTypeManagerV1)
54 GetSurfaceContentType(self *WpContentTypeManagerV1, id uint32, surface *wayland.Surface)
55}
56
57func NewWpContentTypeManagerV1(c server.Client, version int32, id uint32, h WpContentTypeManagerV1Handler) (*WpContentTypeManagerV1, error) {
58 if h == nil {
59 return nil, fmt.Errorf("purego-libwayland: nil handler for wp_content_type_manager_v1")
60 }
61 var self *WpContentTypeManagerV1
62 r, err := c.CreateResource(WpContentTypeManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
63 switch opcode {
64 case 0:
65 h.Destroy(self)
66 self.Destroy()
67 case 1:
68 h.GetSurfaceContentType(self, args[0].NewID(), wayland.WrapSurface(args[1].Resource()))
69 }
70 })
71 if err != nil {
72 return nil, err
73 }
74 self = WrapWpContentTypeManagerV1(r)
75 r.Data = self
76 return self, nil
77}
78func NewWpContentTypeManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
79 return d.CreateGlobal(WpContentTypeManagerV1Interface, version, bind)
80}
81
82// WpContentTypeV1 content type object for a surface.
83type WpContentTypeV1 struct{ *server.Resource }
84
85func WrapWpContentTypeV1(r *server.Resource) *WpContentTypeV1 {
86 if r == nil {
87 return nil
88 }
89 return &WpContentTypeV1{r}
90}
91
92const WpContentTypeV1RequestDestroy uint32 = 0
93const WpContentTypeV1RequestSetContentType uint32 = 1
94
95// WpContentTypeV1Type possible content types.
96type WpContentTypeV1Type uint32
97
98const (
99 WpContentTypeV1TypeNone WpContentTypeV1Type = 0
100 WpContentTypeV1TypePhoto WpContentTypeV1Type = 1
101 WpContentTypeV1TypeVideo WpContentTypeV1Type = 2
102 WpContentTypeV1TypeGame WpContentTypeV1Type = 3
103)
104
105// WpContentTypeV1Handler handles wp_content_type_v1 requests.
106type WpContentTypeV1Handler interface {
107 Destroy(self *WpContentTypeV1)
108 SetContentType(self *WpContentTypeV1, contentType uint32)
109}
110
111func NewWpContentTypeV1(c server.Client, version int32, id uint32, h WpContentTypeV1Handler) (*WpContentTypeV1, error) {
112 if h == nil {
113 return nil, fmt.Errorf("purego-libwayland: nil handler for wp_content_type_v1")
114 }
115 var self *WpContentTypeV1
116 r, err := c.CreateResource(WpContentTypeV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
117 switch opcode {
118 case 0:
119 h.Destroy(self)
120 self.Destroy()
121 case 1:
122 h.SetContentType(self, args[0].Uint())
123 }
124 })
125 if err != nil {
126 return nil, err
127 }
128 self = WrapWpContentTypeV1(r)
129 r.Data = self
130 return self, nil
131}
132func NewWpContentTypeV1Global(d *server.Display, version int32, bind server.BindFunc) error {
133 return d.CreateGlobal(WpContentTypeV1Interface, version, bind)
134}
135func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
136 if v == nil {
137 return nil
138 }
139 return v.GetResource()
140}
141func (self *WpContentTypeManagerV1) GetResource() *server.Resource {
142 if self == nil {
143 return nil
144 }
145 return self.Resource
146}
147func (self *WpContentTypeV1) GetResource() *server.Resource {
148 if self == nil {
149 return nil
150 }
151 return self.Resource
152}