start_dir.hpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  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. #ifndef BOOST_PROCESS_DETAIL_WINDOWS_START_DIR_HPP
  10. #define BOOST_PROCESS_DETAIL_WINDOWS_START_DIR_HPP
  11. #include <string>
  12. #include <boost/process/detail/windows/handler.hpp>
  13. namespace boost { namespace process { namespace detail { namespace windows {
  14. template<typename Char>
  15. struct start_dir_init : handler_base_ext
  16. {
  17. start_dir_init(const std::basic_string<Char> &s) : s_(s) {}
  18. template <class Executor>
  19. void on_setup(Executor& exec) const
  20. {
  21. exec.work_dir = s_.c_str();
  22. }
  23. const std::basic_string<Char> &str() const {return s_;}
  24. private:
  25. std::basic_string<Char> s_;
  26. };
  27. }}}}
  28. #endif