31#include <pingpong-server-protocol.hpp>
32#include <pingpong-client-protocol.hpp>
36 wayland::server::display_t server_display;
37 wayland::server::global_pingpong_t global_pingpong(server_display);
38 wayland::server::global_dummy_t dummy(server_display);
39 wayland::server::pingpong_t server_pingpong;
42 server_display.add_socket(
"pingpong");
45 global_pingpong.on_bind() = [&] (
const wayland::server::client_t& , wayland::server::pingpong_t pingpong)
48 server_pingpong = pingpong;
49 pingpong.on_ping() = [&] (
const std::string& msg)
51 std::cout <<
"Server received: " << msg << std::endl;
52 server_pingpong.pong(msg);
57 server_display.set_global_filter([] (
const wayland::server::client_t& ,
wayland::server::global_base_t global) {
return !global.has_interface<wayland::server::dummy_t>(); });
61 auto thread = std::thread([&] ()
63 auto el = server_display.get_event_loop();
67 server_display.flush_clients();
76 wayland::pingpong_t pingpong;
77 auto registry = display.get_registry();
78 registry.on_global() = [&] (uint32_t name,
const std::string& interface, uint32_t version)
80 std::cout <<
"Found global: " <<
interface << std::endl;
81 if(interface == wayland::pingpong_t::interface_name)
82 registry.bind(name, pingpong, version);
87 pingpong.on_pong() = [&] (
const std::string& msg)
89 std::cout <<
"Client received: " << msg << std::endl;
94 pingpong.ping(
"Hello World!");
Represents a connection to the compositor and acts as a proxy to the display singleton object.