19 #ifndef MIR_CLIENT_CONNECTION_SURFACE_MAP_H_ 20 #define MIR_CLIENT_CONNECTION_SURFACE_MAP_H_ 24 #include <shared_mutex> 25 #include <unordered_map> 32 class PresentationChain;
47 void insert(
int buffer_id, std::shared_ptr<Buffer>
const&
buffer)
override;
48 void erase(
int buffer_id)
override;
49 std::shared_ptr<Buffer>
buffer(
int buffer_id)
const override;
52 std::shared_timed_mutex
mutable guard;
53 std::unordered_map<frontend::SurfaceId, std::shared_ptr<MirSurface>> surfaces;
54 std::unordered_map<frontend::BufferStreamId, std::shared_ptr<BufferReceiver>> streams;
55 std::unordered_map<int, std::shared_ptr<Buffer>> buffers;
All things Mir.
Definition: atomic_callback.h:25
Definition: mir_surface.h:146
Definition: surface_map.h:36
void with_stream_do(frontend::BufferStreamId stream_id, std::function< void(BufferReceiver *)> const &exec) const override
Definition: surface_map.cpp:59
Definition: buffer_receiver.h:31
void erase(frontend::SurfaceId surface_id)
void insert(frontend::SurfaceId surface_id, std::shared_ptr< MirSurface > const &surface)
Definition: connection_surface_map.h:33
void with_all_streams_do(std::function< void(BufferReceiver *)> const &) const override
Definition: surface_map.cpp:77
Definition: int_wrapper.h:27
std::shared_ptr< Buffer > buffer(int buffer_id) const override
Definition: surface_map.cpp:109
void with_surface_do(frontend::SurfaceId surface_id, std::function< void(MirSurface *)> const &exec) const override
Definition: surface_map.cpp:29