1// Code generated by wlbgen. DO NOT EDIT.
2// Protocol: wlr_input_inhibit_unstable_v1
3// Source: wlr-input-inhibitor-unstable-v1.xml
4
5// Upstream protocol copyright and license:
6// Copyright © 2018 Drew DeVault
7//
8// Permission to use, copy, modify, distribute, and sell this
9// software and its documentation for any purpose is hereby granted
10// without fee, provided that the above copyright notice appear in
11// all copies and that both that copyright notice and this permission
12// notice appear in supporting documentation, and that the name of
13// the copyright holders not be used in advertising or publicity
14// pertaining to distribution of the software without specific,
15// written prior permission. The copyright holders make no
16// representations about the suitability of this software for any
17// purpose. It is provided "as is" without express or implied
18// warranty.
19//
20// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27// THIS SOFTWARE.
28
29package wlrinputinhibitor
30
31import (
32 "github.com/bnema/wlturbo/wl"
33)
34
35// ERROR_ALREADY_INHIBITED is the error already_inhibited value.
36const ERROR_ALREADY_INHIBITED = 0
37
38// InputInhibitManagerInterface is the protocol interface name.
39const InputInhibitManagerInterface = "zwlr_input_inhibit_manager_v1"
40
41// InputInhibitManager is the generated binding for zwlr_input_inhibit_manager_v1 version 1.
42type InputInhibitManager struct {
43 wl.BaseProxy
44}
45
46// NewInputInhibitManager returns an unbound InputInhibitManager.
47func NewInputInhibitManager(ctx *wl.Context) *InputInhibitManager {
48 obj := &InputInhibitManager{}
49 obj.SetContext(ctx)
50 ctx.Register(obj)
51 return obj
52}
53
54// Activates the input inhibitor. As long as the inhibitor is active, the compositor will not send input events to other clients.
55func (o *InputInhibitManager) GetInhibitor() (*InputInhibitor, error) {
56 child := &InputInhibitor{}
57 child.SetContext(o.Context())
58 if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 0, Name: "zwlr_input_inhibit_manager_v1.get_inhibitor", Child: child}, wl.ArgObject(child)); err != nil {
59 return nil, err
60 }
61 return child, nil
62}
63
64// EventSignature returns the declared event argument types in wire order.
65func (o *InputInhibitManager) EventSignature(opcode uint16) (string, bool) {
66 switch opcode {
67 default:
68 return "", false
69 }
70}
71
72// Dispatch decodes one event on zwlr_input_inhibit_manager_v1 and calls the registered handlers.
73func (o *InputInhibitManager) Dispatch(event *wl.Event) {
74 switch event.Opcode {
75 default:
76 }
77}
78
79// InputInhibitorInterface is the protocol interface name.
80const InputInhibitorInterface = "zwlr_input_inhibitor_v1"
81
82// InputInhibitor is the generated binding for zwlr_input_inhibitor_v1 version 1.
83type InputInhibitor struct {
84 wl.BaseProxy
85}
86
87// NewInputInhibitor returns an unbound InputInhibitor.
88func NewInputInhibitor(ctx *wl.Context) *InputInhibitor {
89 obj := &InputInhibitor{}
90 obj.SetContext(ctx)
91 ctx.Register(obj)
92 return obj
93}
94
95// Destroy the inhibitor and allow other clients to receive input.
96func (o *InputInhibitor) Destroy() error {
97 if err := o.Context().RequestArgs(wl.Request{Proxy: o, Opcode: 0, Name: "zwlr_input_inhibitor_v1.destroy", Destructor: true}); err != nil {
98 return err
99 }
100 return nil
101}
102
103// EventSignature returns the declared event argument types in wire order.
104func (o *InputInhibitor) EventSignature(opcode uint16) (string, bool) {
105 switch opcode {
106 default:
107 return "", false
108 }
109}
110
111// Dispatch decodes one event on zwlr_input_inhibitor_v1 and calls the registered handlers.
112func (o *InputInhibitor) Dispatch(event *wl.Event) {
113 switch event.Opcode {
114 default:
115 }
116}