summaryrefslogtreecommitdiff
path: root/src/managers/eventLoop/EventLoopManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/eventLoop/EventLoopManager.hpp')
-rw-r--r--src/managers/eventLoop/EventLoopManager.hpp20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/managers/eventLoop/EventLoopManager.hpp b/src/managers/eventLoop/EventLoopManager.hpp
index d55b54a9..fe864f16 100644
--- a/src/managers/eventLoop/EventLoopManager.hpp
+++ b/src/managers/eventLoop/EventLoopManager.hpp
@@ -10,10 +10,14 @@
class CEventLoopManager {
public:
+ CEventLoopManager();
+
void enterLoop(wl_display* display, wl_event_loop* wlEventLoop);
void addTimer(std::shared_ptr<CEventLoopTimer> timer);
void removeTimer(std::shared_ptr<CEventLoopTimer> timer);
+ void onTimerFire();
+
// recalculates timers
void nudgeTimers();
@@ -21,26 +25,12 @@ class CEventLoopManager {
struct {
wl_event_loop* loop = nullptr;
wl_display* display = nullptr;
- std::thread pollThread;
} m_sWayland;
struct {
- std::mutex timersMutex;
- std::mutex timersRqMutex;
std::vector<std::shared_ptr<CEventLoopTimer>> timers;
- std::thread timerThread;
- bool event = false;
- std::condition_variable cv;
+ int timerfd = -1;
} m_sTimers;
-
- struct {
- std::mutex loopMutex;
- std::mutex eventRequestMutex;
- bool event = false;
- std::condition_variable cv;
- } m_sLoopState;
-
- bool m_bTerminate = false;
};
inline std::unique_ptr<CEventLoopManager> g_pEventLoopManager; \ No newline at end of file