! * A helper class to Popen class for setting * options as provided in the Popen constructor * or in check_ouput arguments. * This design allows us to _not_ have any fixed position * to any arguments and specify them in a way similar to what * can be done in python. */
| 1135 | * can be done in python. |
| 1136 | */ |
| 1137 | struct ArgumentDeducer |
| 1138 | { |
| 1139 | ArgumentDeducer(Popen* p): popen_(p) {} |
| 1140 | |
| 1141 | void set_option(executable&& exe); |
| 1142 | void set_option(cwd&& cwdir); |
| 1143 | void set_option(bufsize&& bsiz); |
| 1144 | void set_option(environment&& env); |
| 1145 | void set_option(defer_spawn&& defer); |
| 1146 | void set_option(shell&& sh); |
| 1147 | void set_option(input&& inp); |
| 1148 | void set_option(output&& out); |
| 1149 | void set_option(error&& err); |
| 1150 | void set_option(close_fds&& cfds); |
| 1151 | void set_option(preexec_func&& prefunc); |
| 1152 | void set_option(session_leader&& sleader); |
| 1153 | |
| 1154 | private: |
| 1155 | Popen* popen_ = nullptr; |
| 1156 | }; |
| 1157 | |
| 1158 | /*! |
| 1159 | * A helper class to Popen. |
nothing calls this directly
no outgoing calls
no test coverage detected