19#ifndef MIRAL_INTERNAL_CLIENT_H
20#define MIRAL_INTERNAL_CLIENT_H
28namespace mir {
class Server;
namespace scene {
class Session; }}
47 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)> connect_notification);
49 template <
typename ClientObject>
54 std::function<
void(struct ::wl_display* display)> client_code,
55 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)> connect_notification);
57 template <
typename ClientObject>
67 std::shared_ptr<Self> internal_client;
79 std::string
const&
name,
81 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)>
const& connect_notification)
const;
83 template <
typename ClientObject>
84 void launch(std::string
const&
name, ClientObject& client_object)
const
89 [&](std::weak_ptr<mir::scene::Session>
const session) { client_object(session); });
93 std::function<
void(struct ::wl_display* display)>
const& wayland_fd,
94 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)>
const& connect_notification)
const;
96 template <
typename ClientObject>
97 void launch(ClientObject& client_object)
const
100 [&](struct ::wl_display* display) { client_object(display); },
101 [&](std::weak_ptr<mir::scene::Session>
const session) { client_object(session); });
106 std::shared_ptr<Self> self;
Handle class for MirConnection - provides automatic reference counting.
Definition: connection.h:35
Definition: internal_client.h:71
~InternalClientLauncher()
void operator()(mir::Server &server)
void launch(std::string const &name, ClientObject &client_object) const
Definition: internal_client.h:84
void launch(std::function< void(struct ::wl_display *display)> const &wayland_fd, std::function< void(std::weak_ptr< mir::scene::Session > const session)> const &connect_notification) const
void launch(ClientObject &client_object) const
Definition: internal_client.h:97
void launch(std::string const &name, std::function< void(mir::client::Connection connection)> const &client_code, std::function< void(std::weak_ptr< mir::scene::Session > const session)> const &connect_notification) const
Wrapper for running an internal Mir client at startup.
Definition: internal_client.h:42
void operator()(mir::Server &server)
StartupInternalClient(ClientObject const &client_object)
Definition: internal_client.h:58
StartupInternalClient(std::string name, ClientObject const &client_object)
Definition: internal_client.h:50
StartupInternalClient(std::function< void(struct ::wl_display *display)> client_code, std::function< void(std::weak_ptr< mir::scene::Session > const session)> connect_notification)
StartupInternalClient(std::string name, std::function< void(mir::client::Connection connection)> client_code, std::function< void(std::weak_ptr< mir::scene::Session > const session)> connect_notification)
char const * name
Definition: client_types.h:0
Definition: splash_session.h:24
Mir Abstraction Layer.
Definition: floating_window_manager.h:29