19 #ifndef MIR_SHELL_PERSISTENT_SURFACE_STORE_H_
20 #define MIR_SHELL_PERSISTENT_SURFACE_STORE_H_
25 #include <uuid/uuid.h>
60 virtual Id id_for_surface(std::shared_ptr<scene::Surface>
const& surface) = 0;
69 virtual std::shared_ptr<scene::Surface>
surface_for_id(
Id const&
id)
const = 0;
98 Id(std::string
const& serialized_form);
101 Id& operator=(
Id const& rhs);
109 std::string serialize_to_string()
const;
111 friend struct std::hash<
Id>;
127 result_type operator()(argument_type
const& uuid)
const;
131 #endif // MIR_SHELL_PERSISTENT_SURFACE_STORE_H_
All things Mir.
Definition: atomic_callback.h:25
virtual Id id_for_surface(std::shared_ptr< scene::Surface > const &surface)=0
Acquire ID for a Surface.
mir::shell::PersistentSurfaceStore::Id Id
Definition: persistent_surface_store.cpp:24
virtual std::shared_ptr< scene::Surface > surface_for_id(Id const &id) const =0
Lookup Surface by ID.
A store for Surface information divorced from the lifetime of any given Session.
Definition: persistent_surface_store.h:46
bool operator==(Device const &lhs, Device const &rhs)
Definition: udev_wrapper.cpp:82
virtual ~PersistentSurfaceStore()=default
mir::shell::PersistentSurfaceStore::Id argument_type
Definition: persistent_surface_store.h:124
Definition: persistent_surface_store.h:85
std::size_t result_type
Definition: persistent_surface_store.h:125