#pragma once #include #include #include #include #include #include "../memory/Memory.hpp" /* A helper (inspired by KDE's KWin) that will release the timeline point in the dtor */ class CSyncTimeline; class CSyncReleaser { public: CSyncReleaser(SP timeline, uint64_t point); ~CSyncReleaser(); // drops the releaser, will never signal anymore void drop(); // wait for this sync_fd to signal before releasing void addSyncFileFd(const Hyprutils::OS::CFileDescriptor& syncFd); private: SP m_timeline; uint64_t m_point = 0; Hyprutils::OS::CFileDescriptor m_fd; };