diff options
| author | Alexander Gluzsky <sss123next@list.ru> | 2013-02-04 16:43:34 +0000 |
|---|---|---|
| committer | Alexander Gluzsky <sss123next@list.ru> | 2013-02-04 16:43:34 +0000 |
| commit | 6a3159197f21b14c2f74584bcbd0d63266b5db47 (patch) | |
| tree | e75e6e9ca1cbd9c5839f0af5d1b542216279cf6e /plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp | |
| parent | c32c268ada5d7e265a6f1085cc3e87589f4c1d4a (diff) | |
cleanup
usgin older boost api for backward compatibility
git-svn-id: http://svn.miranda-ng.org/main/trunk@3424 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp')
| -rw-r--r-- | plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp b/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp deleted file mode 100644 index abfaf128f3..0000000000 --- a/plugins/New_GPG/src/include/libs/process/test/sparring_partner.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright (c) 2006, 2007 Julio M. Merino Vidal -// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling -// Copyright (c) 2009 Boris Schaeling -// Copyright (c) 2010 Felipe Tanus, Boris Schaeling -// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#include <boost/program_options.hpp> -#include <boost/filesystem.hpp> -#include <boost/algorithm/string/join.hpp> -#include <boost/range/iterator_range.hpp> -#include <boost/range/algorithm/transform.hpp> -#include <boost/range/algorithm_ext/push_back.hpp> -#include <boost/lambda/lambda.hpp> -#include <vector> -#include <string> -#include <iterator> -#include <iostream> -#include <cstdlib> -#if defined(BOOST_POSIX_API) -# include <boost/lexical_cast.hpp> -# include <boost/iostreams/device/file_descriptor.hpp> -# include <boost/iostreams/stream.hpp> -# include <unistd.h> -#elif defined(BOOST_WINDOWS_API) -# include <Windows.h> -#endif - -using namespace boost::program_options; - -int main(int argc, char *argv[]) -{ - options_description desc; - desc.add_options() - ("echo-stdout", value<std::string>()) - ("echo-stderr", value<std::string>()) - ("echo-stdout-stderr", value<std::string>()) - ("echo-argv", bool_switch()) - ("exit-code", value<int>()) - ("wait", value<int>()) - ("is-closed-stdin", bool_switch()) - ("is-closed-stdout", bool_switch()) - ("is-closed-stderr", bool_switch()) - ("is-nul-stdin", bool_switch()) - ("is-nul-stdout", bool_switch()) - ("is-nul-stderr", bool_switch()) - ("loop", bool_switch()) - ("prefix", value<std::string>()) - ("prefix-once", value<std::string>()) - ("pwd", bool_switch()) - ("query-env", value<std::string>()) - ("stdin-to-stdout", bool_switch()) -#if defined(BOOST_POSIX_API) - ("posix-echo-one", value<std::vector<std::string> >()->multitoken()) - ("posix-echo-two", value<std::vector<std::string> >()->multitoken()); -#elif defined(BOOST_WINDOWS_API) - ("windows-print-showwindow", bool_switch()) - ("windows-print-flags", bool_switch()); -#endif - - variables_map vm; - command_line_parser parser(argc, argv); - store(parser.options(desc).allow_unregistered().run(), vm); - notify(vm); - - if (vm.count("echo-stdout")) - { - std::cout << vm["echo-stdout"].as<std::string>() << std::endl; - } - else if (vm.count("echo-stderr")) - { - std::cerr << vm["echo-stderr"].as<std::string>() << std::endl; - } - else if (vm.count("echo-stdout-stderr")) - { - std::cout << vm["echo-stdout-stderr"].as<std::string>() << std::endl; - std::cerr << vm["echo-stdout-stderr"].as<std::string>() << std::endl; - } - else if (vm["echo-argv"].as<bool>()) - { - std::vector<std::string> v, v2; - boost::push_back(v, boost::make_iterator_range(argv, argv + argc)); - boost::transform(v, std::back_inserter(v2), - "\"" + boost::lambda::_1 + "\""); - std::cout << boost::algorithm::join(v2, " ") << std::endl; - } - else if (vm.count("exit-code")) - { - return vm["exit-code"].as<int>(); - } - else if (vm.count("wait")) - { - int sec = vm["wait"].as<int>(); -#if defined(BOOST_POSIX_API) - sleep(sec); -#elif defined(BOOST_WINDOWS_API) - Sleep(sec * 1000); -#endif - } - else if (vm["is-closed-stdin"].as<bool>()) - { - std::string s; - std::cin >> s; - return std::cin.eof() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-closed-stdout"].as<bool>()) - { - std::cout << "foo" << std::endl; - return std::cout.bad() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-closed-stderr"].as<bool>()) - { - std::cerr << "foo" << std::endl; - return std::cerr.bad() ? EXIT_SUCCESS : EXIT_FAILURE; - } - else if (vm["is-nul-stdin"].as<bool>()) - { -#if defined(BOOST_POSIX_API) - char buffer[1]; - int res = read(STDIN_FILENO, buffer, 1); - return res != -1 ? EXIT_SUCCESS : EXIT_FAILURE; -#elif defined(BOOST_WINDOWS_API) - HANDLE h = GetStdHandle(STD_INPUT_HANDLE); - if (h == INVALID_HANDLE_VALUE) - return EXIT_FAILURE; - char buffer[1]; - DWORD read; - BOOL res = ReadFile(h, buffer, 1, &read, NULL); - CloseHandle(h); - return res ? EXIT_SUCCESS : EXIT_FAILURE; -#endif - } - else if (vm["is-nul-stdout"].as<bool>()) - { - std::cout << "foo" << std::endl; - return std::cout.bad() ? EXIT_FAILURE : EXIT_SUCCESS; - } - else if (vm["is-nul-stderr"].as<bool>()) - { - std::cerr << "foo" << std::endl; - return std::cerr.bad() ? EXIT_FAILURE : EXIT_SUCCESS; - } - else if (vm["loop"].as<bool>()) - { - for (;;); - } - else if (vm.count("prefix")) - { - std::string line; - while (std::getline(std::cin, line)) - std::cout << vm["prefix"].as<std::string>() << line << std::endl; - } - else if (vm.count("prefix-once")) - { - std::string line; - std::getline(std::cin, line); - std::cout << vm["prefix-once"].as<std::string>() << line << std::endl; - } - else if (vm["pwd"].as<bool>()) - { - std::cout << boost::filesystem::current_path().string() << std::endl; - } - else if (vm.count("query-env")) - { -#if defined(BOOST_POSIX_API) - const char *value = getenv(vm["query-env"].as<std::string>().c_str()); - if (value == NULL) - std::cout << "undefined" << std::endl; - else - { - std::cout << "defined" << std::endl; - std::cout << value << std::endl; - } -#elif defined(BOOST_WINDOWS_API) - char buf[1024]; - DWORD res = GetEnvironmentVariableA(vm["query-env"].as<std::string>().c_str(), buf, sizeof(buf)); - if (res == 0) - std::cout << "undefined" << std::endl; - else - { - std::cout << "defined" << std::endl; - std::cout << buf << std::endl; - } -#endif - } - else if (vm["stdin-to-stdout"].as<bool>()) - { - char ch; - while (std::cin >> std::noskipws >> ch) - std::cout << ch << std::flush; - } -#if defined(BOOST_POSIX_API) - else if (vm.count("posix-echo-one")) - { - using namespace boost::iostreams; - std::vector<std::string> v = vm["posix-echo-one"].as<std::vector<std::string> >(); - int fd = boost::lexical_cast<int>(v[0]); - file_descriptor_sink sink(fd, close_handle); - stream<file_descriptor_sink> os(sink); - os << v[1] << std::endl; - } - else if (vm.count("posix-echo-two")) - { - using namespace boost::iostreams; - std::vector<std::string> v = vm["posix-echo-two"].as<std::vector<std::string> >(); - int fd1 = boost::lexical_cast<int>(v[0]); - file_descriptor_sink sink1(fd1, close_handle); - stream<file_descriptor_sink> os1(sink1); - os1 << v[1] << std::endl; - int fd2 = boost::lexical_cast<int>(v[2]); - file_descriptor_sink sink2(fd2, close_handle); - stream<file_descriptor_sink> os2(sink2); - os2 << v[3] << std::endl; - } -#elif defined(BOOST_WINDOWS_API) - else if (vm["windows-print-showwindow"].as<bool>()) - { - STARTUPINFO si; - GetStartupInfo(&si); - std::cout << si.wShowWindow << std::endl; - } - else if (vm["windows-print-flags"].as<bool>()) - { - STARTUPINFO si; - GetStartupInfo(&si); - std::cout << si.dwFlags << std::endl; - } -#endif - return EXIT_SUCCESS; -} |
