bind_stdin.hpp
Go to the documentation of this file.
1
// Copyright (c) 2006, 2007 Julio M. Merino Vidal
2
// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling
3
// Copyright (c) 2009 Boris Schaeling
4
// Copyright (c) 2010 Felipe Tanus, Boris Schaeling
5
// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling
6
//
7
// Distributed under the Boost Software License, Version 1.0. (See accompanying
8
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
10
#pragma once
11
12
#include <boost/iostreams/device/file_descriptor.hpp>
13
#include <
boost/process/windows/initializers/initializer_base.hpp
>
14
15
#include <Windows.h>
16
17
namespace
boost::process
:: : windows::initializers
18
{
19
20
class
bind_stdin
:
public
initializer_base
21
{
22
public
:
23
explicit
bind_stdin
(
const
boost::iostreams::file_descriptor_source&
source
) :
24
source_(
source
)
25
{
26
}
27
28
template
<
class
WindowsExecutor>
29
void
30
on_CreateProcess_setup
(WindowsExecutor& e)
const
31
{
32
::SetHandleInformation(source_.handle(), HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
33
e.startup_info.hStdInput = source_.handle();
34
e.startup_info.dwFlags |= STARTF_USESTDHANDLES;
35
e.inherit_handles =
true
;
36
}
37
38
private
:
39
boost::iostreams::file_descriptor_source source_;
40
};
41
42
}
// namespace boost::process:::
boost::process::bind_stdin::bind_stdin
bind_stdin(const boost::iostreams::file_descriptor_source &source)
Definition
bind_stdin.hpp:23
boost::process::bind_stdin::on_CreateProcess_setup
void on_CreateProcess_setup(WindowsExecutor &e) const
Definition
bind_stdin.hpp:30
boost::process
Definition
mitigate.hpp:26
boost::source
Vertex source(const detail::edge_base< Directed, Vertex > &e, const PCG &)
Definition
point_cloud_graph.h:661
initializer_base.hpp
boost
process
windows
initializers
bind_stdin.hpp
Generated by
1.13.2