Author: zaroth
Date: Thu Jun 9 11:53:03 2011
New Revision: 49816
URL: http://svn.gna.org/viewcvs/wesnoth?rev=49816&view=rev
Log:
Added proxy* options to commandline_options.
Modified:
trunk/src/commandline_options.cpp
trunk/src/game_controller.cpp
trunk/src/tests/test_commandline_options.cpp
Modified: trunk/src/commandline_options.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/commandline_options.cpp?rev=49816&r1=49815&r2=49816&view=diff
==============================================================================
--- trunk/src/commandline_options.cpp (original)
+++ trunk/src/commandline_options.cpp Thu Jun 9 11:53:03 2011
@@ -172,11 +172,20 @@
("preprocess-output-macros",
po::value<std::string>()->implicit_value(std::string()), "used only by the
'--preprocess' command. Will output all preprocessed macros in the target file
<arg>. If the file is not specified the output will be file '_MACROS_.cfg' in
the target directory of preprocess's command.")
;
+ po::options_description proxy_opts("Proxy options");
+ proxy_opts.add_options()
+ ("proxy", "enables usage of proxy for network connections.")
+ ("proxy-address", po::value<std::string>(), "specifies address
of the proxy.")
+ ("proxy-port", po::value<std::string>(), "specifies port of the
proxy.")
+ ("proxy-user", po::value<std::string>(), "specifies username to
log in to the proxy.")
+ ("proxy-password", po::value<std::string>(), "specifies
password to log in to the proxy.")
+ ;
+
hidden_.add_options()
("new-storyscreens", "")
("smallgui", "")
;
-
visible_.add(general_opts).add(display_opts).add(logging_opts).add(multiplayer_opts).add(preprocessor_opts);
+
visible_.add(general_opts).add(display_opts).add(logging_opts).add(multiplayer_opts).add(preprocessor_opts).add(proxy_opts);
all_.add(visible_).add(hidden_);
@@ -263,6 +272,16 @@
preprocess_input_macros =
vm["preprocess-input-macros"].as<std::string>();
if (vm.count("preprocess-output-macros"))
preprocess_output_macros =
vm["preprocess-output-macros"].as<std::string>();
+ if (vm.count("proxy"))
+ proxy = true;
+ if (vm.count("proxy-address"))
+ proxy_address = vm["proxy-address"].as<std::string>();
+ if (vm.count("proxy-password"))
+ proxy_password = vm["proxy-password"].as<std::string>();
+ if (vm.count("proxy-port"))
+ proxy_port = vm["proxy-port"].as<std::string>();
+ if (vm.count("proxy-user"))
+ proxy_user = vm["proxy-user"].as<std::string>();
if (vm.count("resolution"))
parse_resolution_(vm["resolution"].as<std::string>());
if (vm.count("rng-seed"))
Modified: trunk/src/game_controller.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/game_controller.cpp?rev=49816&r1=49815&r2=49816&view=diff
==============================================================================
--- trunk/src/game_controller.cpp (original)
+++ trunk/src/game_controller.cpp Thu Jun 9 11:53:03 2011
@@ -177,6 +177,31 @@
no_music = true;
if (cmdline_opts_.nosound)
no_sound = true;
+ //These commented lines should be used to implement support of
connection
+ //through a proxy via command line options.
+ //The ANA network module should implement these methods (while the
SDL_net won't.)
+ if (cmdline_opts_.proxy)
+ network::enable_connection_through_proxy();
+ if (cmdline_opts_.proxy_address)
+ {
+ network::enable_connection_through_proxy();
+ network::set_proxy_address(*cmdline_opts_.proxy_address);
+ }
+ if (cmdline_opts_.proxy_password)
+ {
+ network::enable_connection_through_proxy();
+ network::set_proxy_password(*cmdline_opts_.proxy_password);
+ }
+ if (cmdline_opts_.proxy_port)
+ {
+ network::enable_connection_through_proxy();
+ network::set_proxy_port(*cmdline_opts_.proxy_port);
+ }
+ if (cmdline_opts_.proxy_user)
+ {
+ network::enable_connection_through_proxy();
+ network::set_proxy_user(*cmdline_opts_.proxy_user);
+ }
if (cmdline_opts_.resolution) {
const int xres = cmdline_opts_.resolution->get<0>();
const int yres = cmdline_opts_.resolution->get<1>();
@@ -253,45 +278,7 @@
jump_to_campaign_.scenario_id_ =
std::string(argv_[arg_]);
std::cerr<<"selected scenario id:
["<<jump_to_campaign_.scenario_id_<<"]\n";
}
- } //These commented lines should be used to implement support
of connection
- //through a proxy via command line options.
- //The ANA network module should implement these methods (while the
SDL_net won't.)
- else if(val == "--proxy") {
- network::enable_connection_through_proxy();
- } else if(val == "--proxy-address") {
- if ( argv_[ arg_ + 1][0] != '-')
- {
- network::enable_connection_through_proxy();
- network::set_proxy_address( argv_[ ++arg_ ] );
- }
- else
- throw std::runtime_error("Proxy address option requires
address");
-
- } else if(val == "--proxy-port") {
- if ( argv_[ arg_ + 1][0] != '-')
- {
- network::enable_connection_through_proxy();
- network::set_proxy_port( argv_[ ++arg_ ] );
- }
- else
- throw std::runtime_error("Proxy port option requires port");
- } else if(val == "--proxy-user") {
- if ( argv_[ arg_ + 1][0] != '-')
- {
- network::enable_connection_through_proxy();
- network::set_proxy_user( argv_[ ++arg_ ] );
- }
- else
- throw std::runtime_error("Proxy user option requires user
name");
- } else if(val == "--proxy-password") {
- if ( argv_[ arg_ + 1][0] != '-')
- {
- network::enable_connection_through_proxy();
- network::set_proxy_password( argv_[ ++arg_ ] );
- }
- else
- throw std::runtime_error("Proxy password option requires
password");
- } else if(val == "-e" || val == "--editor") {
+ } else if(val == "-e" || val == "--editor") {
jump_to_editor_ = true;
if(arg_+1 != argc_) {
if (argv_[arg_ + 1][0] != '-') {
Modified: trunk/src/tests/test_commandline_options.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/tests/test_commandline_options.cpp?rev=49816&r1=49815&r2=49816&view=diff
==============================================================================
--- trunk/src/tests/test_commandline_options.cpp (original)
+++ trunk/src/tests/test_commandline_options.cpp Thu Jun 9 11:53:03 2011
@@ -214,6 +214,11 @@
"--preprocess-defines=DEFFOO,DEFBAR",
"--preprocess-input-macros=inmfoo",
"--preprocess-output-macros=outmfoo",
+ "--proxy",
+ "--proxy-address=addressfoo",
+ "--proxy-password=passfoo",
+ "--proxy-port=portfoo",
+ "--proxy-user=userfoo",
"--resolution=800x600",
"--rng-seed=1234",
"--screenshot", "mapfoo", "outssfoo",
@@ -287,11 +292,11 @@
BOOST_CHECK(co.preprocess_defines->at(0) == "DEFFOO" &&
co.preprocess_defines->at(1) == "DEFBAR");
BOOST_CHECK(co.preprocess_input_macros && *co.preprocess_input_macros
== "inmfoo");
BOOST_CHECK(co.preprocess_output_macros && *co.preprocess_output_macros
== "outmfoo");
- BOOST_CHECK(!co.proxy);
- BOOST_CHECK(!co.proxy_address);
- BOOST_CHECK(!co.proxy_password);
- BOOST_CHECK(!co.proxy_port);
- BOOST_CHECK(!co.proxy_user);
+ BOOST_CHECK(co.proxy);
+ BOOST_CHECK(co.proxy_address && *co.proxy_address == "addressfoo");
+ BOOST_CHECK(co.proxy_password && *co.proxy_password == "passfoo");
+ BOOST_CHECK(co.proxy_port && *co.proxy_port == "portfoo");
+ BOOST_CHECK(co.proxy_user && *co.proxy_user == "userfoo");
BOOST_CHECK(co.resolution);
BOOST_CHECK(co.resolution->get<0>() == 800 && co.resolution->get<1>()
== 600);
BOOST_CHECK(co.rng_seed && *co.rng_seed == 1234);
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits