Horizon
Loading...
Searching...
No Matches
editor_process.hpp
1#pragma once
2#include <glibmm.h>
3
4namespace horizon {
6public:
7 EditorProcess(const std::vector<std::string> &argv, const std::vector<std::string> &env, bool capture_output);
8 int get_pid() const;
9 typedef sigc::signal<void, int> type_signal_exited;
10 type_signal_exited signal_exited()
11 {
12 return s_signal_exited;
13 }
14 typedef sigc::signal<void, std::string, bool> type_signal_output;
15 type_signal_output signal_output()
16 {
17 return s_signal_output;
18 }
19
20private:
21 Glib::Pid pid = 0;
22 Glib::RefPtr<Glib::IOChannel> ch_stdout;
23 Glib::RefPtr<Glib::IOChannel> ch_stderr;
24 sigc::connection out_conn;
25 sigc::connection err_conn;
26 bool is_running = false;
27 void child_watch_handler(GPid pid, int child_status);
28 type_signal_exited s_signal_exited;
29 type_signal_output s_signal_output;
30};
31} // namespace horizon
Definition editor_process.hpp:5