blob: b9afa18c6a04b3778c7b70c825f012041b9ba0c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QWAYLANDCALLBACK_H
#define QWAYLANDCALLBACK_H
#include "qwayland-wayland.h"
QT_BEGIN_NAMESPACE
namespace QtWaylandClient {
class WlCallback : public QtWayland::wl_callback
{
public:
explicit WlCallback(::wl_callback *callback, std::function<void(uint32_t)> fn)
: QtWayland::wl_callback(callback), m_fn(fn)
{
}
~WlCallback() override { wl_callback_destroy(object()); }
void callback_done(uint32_t callback_data) override { m_fn(callback_data); }
private:
std::function<void(uint32_t)> m_fn;
};
} // namespace QtWaylandClient
QT_END_NAMESPACE
#endif // QWAYLANDCALLBACK_H
|