Silicium
process_parameters.hpp
Go to the documentation of this file.
1 #ifndef SILICIUM_PROCESS_PARAMETERS_HPP
2 #define SILICIUM_PROCESS_PARAMETERS_HPP
3 
4 #include <silicium/source/source.hpp>
5 #include <silicium/sink/sink.hpp>
6 #include <silicium/success.hpp>
7 #include <vector>
8 #include <string>
9 #include <boost/filesystem/path.hpp>
10 
11 namespace Si
12 {
14  {
15  boost::filesystem::path executable;
16 
18  std::vector<std::string> arguments;
19 
21  boost::filesystem::path current_path;
22 
24  sink<char, success> *out;
25 
27  sink<char, success> *err;
28 
30  source<char> *in;
31 
33  };
34 
36  : out(nullptr)
37  , err(nullptr)
38  , in(nullptr)
39  {
40  }
41 }
42 
43 #endif
std::vector< std::string > arguments
the values for the child's argv[1...]
Definition: process_parameters.hpp:18
boost::filesystem::path executable
Definition: process_parameters.hpp:15
sink< char, success > * out
stdout of the child process will be written to this sink. When nullptr, output is discarded...
Definition: process_parameters.hpp:24
Definition: absolute_path.hpp:19
Definition: process_parameters.hpp:13
boost::filesystem::path current_path
must be an existing path, otherwise the child cannot launch properly
Definition: process_parameters.hpp:21
sink< char, success > * err
stderr of the child process will be written to this sink. When nullptr, output is discarded...
Definition: process_parameters.hpp:27
source< char > * in
provides stdin to the child process. When nullptr, the input will be empty.
Definition: process_parameters.hpp:30
process_parameters()
Definition: process_parameters.hpp:35