19 #ifndef MIRAL_INTERNAL_CLIENT_H 20 #define MIRAL_INTERNAL_CLIENT_H 28 namespace mir {
class Server;
namespace scene {
class Session; }}
45 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)> connect_notification);
47 template <
typename ClientObject>
57 std::shared_ptr<Self> internal_client;
69 std::string
const&
name,
71 std::function<
void(std::weak_ptr<mir::scene::Session>
const session)>
const& connect_notification)
const;
73 template <
typename ClientObject>
74 void launch(std::string
const&
name, ClientObject& client_object)
const 79 [&](std::weak_ptr<mir::scene::Session>
const session) { client_object(session); });
84 std::shared_ptr<Self>
self;
88 #endif //MIRAL_INTERNAL_CLIENT_H AutoUnblockThread is a helper thread class that can gracefully shutdown at destruction time...
Definition: blob.h:26
~InternalClientLauncher()
Definition: internal_client.h:60
void operator()(mir::Server &server)
Handle class for MirConnection - provides automatic reference counting.
Definition: connection.h:34
void launch(std::string const &name, ClientObject &client_object) const
Definition: internal_client.h:74
char const * name
Definition: client_types.h:177
void operator()(mir::Server &server)
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
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)
Wrapper for running an internal Mir client at startup.
Definition: internal_client.h:39
Mir Abstraction Layer.
Definition: add_init_callback.h:26
StartupInternalClient(std::string name, ClientObject const &client_object)
Definition: internal_client.h:48