19 #ifndef MIR_GLIB_MAIN_LOOP_H_
20 #define MIR_GLIB_MAIN_LOOP_H_
43 operator GMainContext*()
const;
45 GMainContext*
const main_context;
59 std::initializer_list<int> signals,
60 std::function<
void(
int)>
const& handler)
override;
63 std::initializer_list<int> fds,
65 std::function<
void(
int)>
const& handler)
override;
74 std::function<
void()>
const& callback)
override;
77 std::shared_ptr<LockableCallback>
const& callback)
override;
82 bool should_process_actions_for(
void const* owner);
83 void handle_exception(std::exception_ptr
const& e);
85 std::shared_ptr<time::Clock>
const clock;
87 std::atomic<bool> running;
90 std::mutex do_not_process_mutex;
91 std::vector<void const*> do_not_process;
92 std::function<void()> before_iteration_hook;
93 std::exception_ptr main_loop_exception;
All things Mir.
Definition: atomic_callback.h:25
void unregister_fd_handler(void const *owner) override
std::unique_ptr< mir::time::Alarm > create_alarm(std::function< void()> const &callback) override
Create an Alarm that will not fire until scheduled.
Definition: glib_main_loop.h:38
GMainContextHandle()
Definition: glib_main_loop.cpp:108
void reprocess_all_sources()
void enqueue(void const *owner, ServerAction const &action) override
Definition: glib_main_loop.h:50
GLibMainLoop(std::shared_ptr< time::Clock > const &clock)
Definition: glib_main_loop.cpp:127
void resume_processing_for(void const *owner) override
std::function< void()> ServerAction
Definition: server_action_queue.h:27
Definition: main_loop.h:29
Definition: glib_main_loop_sources.h:83
Definition: glib_main_loop_sources.h:101
void register_signal_handler(std::initializer_list< int > signals, std::function< void(int)> const &handler) override
void pause_processing_for(void const *owner) override
~GMainContextHandle()
Definition: glib_main_loop.cpp:115
void register_fd_handler(std::initializer_list< int > fds, void const *owner, std::function< void(int)> const &handler) override