19 #ifndef MIR_CLIENT_WINDOW_ID_H 20 #define MIR_CLIENT_WINDOW_ID_H 23 #if MIR_CLIENT_VERSION < MIR_VERSION_NUMBER(3, 5, 0) 24 #include <mir_toolkit/mir_surface.h> 25 auto const mir_window_request_window_id_sync = mir_surface_request_persistent_id_sync;
27 #include <mir_toolkit/mir_window.h> 30 #if MIR_CLIENT_API_VERSION < MIR_VERSION_NUMBER(0, 26, 1) 31 #if MIR_CLIENT_VERSION == MIR_VERSION_NUMBER(3, 5, 0) 32 #include <mir_toolkit/mir_persistent_id.h> 33 auto const mir_window_request_window_id_sync = mir_window_request_persistent_id_sync;
35 auto const mir_window_id_as_string = mir_persistent_id_as_string;
36 auto const mir_window_id_release = mir_persistent_id_release;
37 typedef struct MirPersistentId MirWindowId;
39 #include <mir_toolkit/mir_window_id.h> 52 explicit WindowId(MirWindowId*
id) : self{id, deleter} {}
54 explicit WindowId(MirWindow* window) : WindowId{mir_window_request_window_id_sync(window)} {}
56 auto c_str() const ->
char const* {
return mir_window_id_as_string(
self.
get()); }
59 static void deleter(MirWindowId*
id) { mir_window_id_release(
id); }
60 std::shared_ptr<MirWindowId>
self;
65 #endif //MIR_CLIENT_WINDOW_ID_H Definition: connection.h:26