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;
73 std::unique_ptr<mir::time::Alarm>
notify_in(
74 std::chrono::milliseconds delay,
75 std::function<
void()>
const& callback)
override;
77 std::unique_ptr<mir::time::Alarm>
notify_at(
79 std::function<
void()>
const& callback)
override;
82 std::function<
void()>
const& callback)
override;
85 std::function<
void()>
const& callback,
86 std::function<
void()>
const& lock,
87 std::function<
void()>
const& unlock)
override;
92 bool should_process_actions_for(
void const* owner);
93 void handle_exception(std::exception_ptr
const& e);
95 std::shared_ptr<time::Clock>
const clock;
97 std::atomic<bool> running;
100 std::mutex do_not_process_mutex;
101 std::vector<void const*> do_not_process;
102 std::function<void()> before_iteration_hook;
103 std::exception_ptr main_loop_exception;
std::unique_ptr< mir::time::Alarm > notify_at(mir::time::Timestamp t, std::function< void()> const &callback) override
Create an Alarm that calls the callback at the specified time.
All things Mir.
Definition: buffer_stream.h:37
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.
std::unique_ptr< mir::time::Alarm > notify_in(std::chrono::milliseconds delay, std::function< void()> const &callback) override
Create an Alarm that calls the callback after the specified delay.
Definition: glib_main_loop.h:38
GMainContextHandle()
Definition: glib_main_loop.cpp:98
void reprocess_all_sources()
void enqueue(void const *owner, ServerAction const &action) override
std::chrono::steady_clock::time_point Timestamp
Definition: types.h:29
Definition: glib_main_loop.h:50
GLibMainLoop(std::shared_ptr< time::Clock > const &clock)
Definition: glib_main_loop.cpp:117
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:72
Definition: glib_main_loop_sources.h:90
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:105
void register_fd_handler(std::initializer_list< int > fds, void const *owner, std::function< void(int)> const &handler) override