// Code generated by wlgen; DO NOT EDIT. package xdgactivation import ( "fmt" wayland "github.com/bnema/purego-libwayland/protocol/wayland" "github.com/bnema/purego-libwayland/server" "runtime" ) var ActivationV1Interface *server.Interface var ActivationTokenV1Interface *server.Interface func init() { ActivationV1Interface = &server.Interface{Name: "xdg_activation_v1", Version: 1} ActivationTokenV1Interface = &server.Interface{Name: "xdg_activation_token_v1", Version: 1} ActivationV1Interface.Requests = []server.Message{ {Name: "destroy", Signature: "", Types: []*server.Interface{}}, {Name: "get_activation_token", Signature: "n", Types: []*server.Interface{ActivationTokenV1Interface}}, {Name: "activate", Signature: "so", Types: []*server.Interface{nil, wayland.SurfaceInterface}}, } ActivationV1Interface.Events = []server.Message{} ActivationTokenV1Interface.Requests = []server.Message{ {Name: "set_serial", Signature: "uo", Types: []*server.Interface{nil, wayland.SeatInterface}}, {Name: "set_app_id", Signature: "s", Types: []*server.Interface{nil}}, {Name: "set_surface", Signature: "o", Types: []*server.Interface{wayland.SurfaceInterface}}, {Name: "commit", Signature: "", Types: []*server.Interface{}}, {Name: "destroy", Signature: "", Types: []*server.Interface{}}, } ActivationTokenV1Interface.Events = []server.Message{ {Name: "done", Signature: "s", Types: []*server.Interface{nil}}, } if err := server.NewInterfaces(ActivationV1Interface, ActivationTokenV1Interface); err != nil { panic(err) } } // ActivationV1 interface for activating surfaces. type ActivationV1 struct{ *server.Resource } func WrapActivationV1(r *server.Resource) *ActivationV1 { if r == nil { return nil } return &ActivationV1{r} } const ActivationV1RequestDestroy uint32 = 0 const ActivationV1RequestGetActivationToken uint32 = 1 const ActivationV1RequestActivate uint32 = 2 // ActivationV1Handler handles xdg_activation_v1 requests. type ActivationV1Handler interface { Destroy(self *ActivationV1) GetActivationToken(self *ActivationV1, id uint32) Activate(self *ActivationV1, token string, surface *wayland.Surface) } func NewActivationV1(c server.Client, version int32, id uint32, h ActivationV1Handler) (*ActivationV1, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for xdg_activation_v1") } var self *ActivationV1 r, err := c.CreateResource(ActivationV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.Destroy(self) self.Destroy() case 1: h.GetActivationToken(self, args[0].NewID()) case 2: h.Activate(self, args[0].String(), wayland.WrapSurface(args[1].Resource())) } }) if err != nil { return nil, err } self = WrapActivationV1(r) r.Data = self return self, nil } func NewActivationV1Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ActivationV1Interface, version, bind) } // ActivationTokenV1 an exported activation handle. type ActivationTokenV1 struct{ *server.Resource } func WrapActivationTokenV1(r *server.Resource) *ActivationTokenV1 { if r == nil { return nil } return &ActivationTokenV1{r} } const ActivationTokenV1RequestSetSerial uint32 = 0 const ActivationTokenV1RequestSetAppId uint32 = 1 const ActivationTokenV1RequestSetSurface uint32 = 2 const ActivationTokenV1RequestCommit uint32 = 3 const ActivationTokenV1RequestDestroy uint32 = 4 const ActivationTokenV1EventDone uint32 = 0 // ActivationTokenV1Error . type ActivationTokenV1Error uint32 const ( ActivationTokenV1ErrorAlreadyUsed ActivationTokenV1Error = 0 ) // ActivationTokenV1Handler handles xdg_activation_token_v1 requests. type ActivationTokenV1Handler interface { SetSerial(self *ActivationTokenV1, serial uint32, seat *wayland.Seat) SetAppId(self *ActivationTokenV1, appId string) SetSurface(self *ActivationTokenV1, surface *wayland.Surface) Commit(self *ActivationTokenV1) Destroy(self *ActivationTokenV1) } func NewActivationTokenV1(c server.Client, version int32, id uint32, h ActivationTokenV1Handler) (*ActivationTokenV1, error) { if h == nil { return nil, fmt.Errorf("purego-libwayland: nil handler for xdg_activation_token_v1") } var self *ActivationTokenV1 r, err := c.CreateResource(ActivationTokenV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) { switch opcode { case 0: h.SetSerial(self, args[0].Uint(), wayland.WrapSeat(args[1].Resource())) case 1: h.SetAppId(self, args[0].String()) case 2: h.SetSurface(self, wayland.WrapSurface(args[0].Resource())) case 3: h.Commit(self) case 4: h.Destroy(self) self.Destroy() } }) if err != nil { return nil, err } self = WrapActivationTokenV1(r) r.Data = self return self, nil } // SendDone the exported activation token. func (self *ActivationTokenV1) SendDone(token string) { var p runtime.Pinner defer p.Unpin() self.PostEvent(ActivationTokenV1EventDone, server.String(&p, token, false)) } func NewActivationTokenV1Global(d *server.Display, version int32, bind server.BindFunc) error { return d.CreateGlobal(ActivationTokenV1Interface, version, bind) } func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource { if v == nil { return nil } return v.GetResource() } func (self *ActivationV1) GetResource() *server.Resource { if self == nil { return nil } return self.Resource } func (self *ActivationTokenV1) GetResource() *server.Resource { if self == nil { return nil } return self.Resource }