#pragma once // system headers #include #include #include #include #include // local headers #include "subprocess_result.h" namespace linuxdeploy { namespace subprocess { typedef std::unordered_map subprocess_env_map_t; class subprocess { private: std::vector args_{}; std::unordered_map env_{}; public: subprocess(std::initializer_list args, subprocess_env_map_t env = {}); explicit subprocess(std::vector args, subprocess_env_map_t env = {}); subprocess_result run() const; std::string check_output() const; }; } }