aboutsummaryrefslogtreecommitdiff
path: root/include/Process.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/Process.hpp')
-rw-r--r--include/Process.hpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/include/Process.hpp b/include/Process.hpp
index 125a880..1789fb1 100644
--- a/include/Process.hpp
+++ b/include/Process.hpp
@@ -1,6 +1,7 @@
#pragma once
#include <sys/types.h>
+#include <string>
namespace gsr {
enum class GsrMode {
@@ -11,9 +12,14 @@ namespace gsr {
};
// Arguments ending with NULL
- bool exec_program_daemonized(const char **args);
- // Arguments ending with NULL
- pid_t exec_program(const char **args);
- // |output_buffer| should be at least PATH_MAX in size
- bool read_cmdline_arg0(const char *filepath, char *output_buffer);
+ bool exec_program_daemonized(const char **args, bool debug = true);
+ // Arguments ending with NULL. |read_fd| can be NULL
+ pid_t exec_program(const char **args, int *read_fd, bool debug = true);
+ // Arguments ending with NULL. Returns the exit status of the program or -1 on error
+ int exec_program_get_stdout(const char **args, std::string &result, bool debug = true);
+ // Arguments ending with NULL. Returns the exit status of the program or -1 on error.
+ // This works the same as |exec_program_get_stdout|, except on flatpak where this runs the program on the
+ // host machine with flatpak-spawn --host
+ int exec_program_on_host_get_stdout(const char **args, std::string &result, bool debug = true);
+ pid_t pidof(const char *process_name, pid_t ignore_pid);
} \ No newline at end of file