4 * Copyright (C) 2011-2013 Team XBMC
7 * This Program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * This Program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with XBMC; see the file COPYING. If not, see
19 * <http://www.gnu.org/licenses/>.
22 #include <boost/noncopyable.hpp>
23 #include <boost/function.hpp>
25 #include <wayland-client.h>
27 class IDllWaylandClient;
33 /* Callback encapsulates a callback object that might be called
34 * by the compositor through the client library at an arbitrary point
35 * in time. A custom closure can be provided as func to be called
36 * whenever this callback is fired
43 typedef boost::function<void(uint32_t)> Func;
45 Callback(IDllWaylandClient &clientLibrary,
46 struct wl_callback *callback,
50 struct wl_callback * GetWlCallback();
52 static const struct wl_callback_listener m_listener;
54 static void OnCallback(void *,
60 IDllWaylandClient &m_clientLibrary;
61 struct wl_callback *m_callback;