32#include <pingpong-server-protocol.hpp>
33#include <pingpong-client-protocol.hpp>
37 wayland::server::display_t server_display;
38 wayland::server::global_pingpong_t global_pingpong(server_display);
39 wayland::server::global_dummy_t dummy(server_display);
40 wayland::server::pingpong_t server_pingpong;
43 server_display.add_socket(
"pingpong");
46 global_pingpong.on_bind() = [&] (
const wayland::server::client_t& , wayland::server::pingpong_t pingpong)
49 server_pingpong = pingpong;
50 pingpong.on_ping() = [&] (
const std::string& msg)
52 std::cout <<
"Server received: " << msg << std::endl;
53 server_pingpong.pong(msg);
58 server_display.set_global_filter([] (
const wayland::server::client_t& ,
wayland::server::global_base_t global) {
return !global.has_interface<wayland::server::dummy_t>(); });
62 auto thread = std::thread([&] ()
64 auto el = server_display.get_event_loop();
68 server_display.flush_clients();
77 wayland::pingpong_t pingpong;
78 auto registry = display.get_registry();
79 registry.on_global() = [&] (uint32_t name,
const std::string& interface, uint32_t version)
81 std::cout <<
"Found global: " <<
interface << std::endl;
82 if(interface == wayland::pingpong_t::interface_name)
83 registry.bind(name, pingpong, version);
88 pingpong.on_pong() = [&] (
const std::string& msg)
90 std::cout <<
"Client received: " << msg << std::endl;
95 pingpong.ping(
"Hello World!");
Represents a connection to the compositor and acts as a proxy to the display singleton object.