ian@0: // ian@0: // Boost.Process ian@0: // ~~~~~~~~~~~~~ ian@0: // ian@0: // Copyright (c) 2006, 2007 Julio M. Merino Vidal ian@0: // Copyright (c) 2008 Ilya Sokolov, Boris Schaeling ian@0: // Copyright (c) 2009 Boris Schaeling ian@0: // Copyright (c) 2010 Felipe Tanus, Boris Schaeling ian@0: // ian@0: // Distributed under the Boost Software License, Version 1.0. (See accompanying ian@0: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ian@0: // ian@0: ian@0: /** ian@0: * \file boost/process/stream_ends.hpp ian@0: * ian@0: * Includes the declaration of the stream_ends class. ian@0: */ ian@0: ian@0: #ifndef BOOST_PROCESS_STREAM_ENDS_HPP ian@0: #define BOOST_PROCESS_STREAM_ENDS_HPP ian@0: ian@0: #include ian@0: #include ian@0: ian@0: namespace boost { ian@0: namespace process { ian@0: ian@0: /** ian@0: * A pair of handles to configure streams. ian@0: * ian@0: * Stream behaviors return a pair of handles to specify how a child's stream ian@0: * should be configured and possibly the opposite end of a child's end. This ian@0: * is the end remaining in the parent process and which can be used for example ian@0: * to communicate with a child process through its standard streams. ian@0: */ ian@0: struct stream_ends { ian@0: /** ian@0: * The child's end. ian@0: */ ian@0: handle child; ian@0: ian@0: /** ian@0: * The parent's end. ian@0: */ ian@0: handle parent; ian@0: ian@0: /** ian@0: * Standard constructor creating two invalid handles. ian@0: */ ian@0: stream_ends() ian@0: { ian@0: } ian@0: ian@0: /** ian@0: * Helper constructor to easily initialize handles. ian@0: */ ian@0: stream_ends(handle c, handle p) ian@0: : child(c), ian@0: parent(p) ian@0: { ian@0: } ian@0: }; ian@0: ian@0: } ian@0: } ian@0: ian@0: #endif