diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-22 11:26:50 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-04-22 11:26:50 +0000 |
| commit | da615e4e7a67956da9d9daeba7364e89ec8c36c5 (patch) | |
| tree | fcb50cbb3d7a46169fd69d8831341ba8930601b5 /src | |
| parent | c87fe0022d51785ac5f8a14e54765e3baa295c30 (diff) | |
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Use the default value pulled from Option object in
HelpItemFactory.
except options whose defualt value is embedded in a usage text.
* src/HelpItemFactory.cc
* src/HelpItemFactory.h
* src/option_processing.cc
* src/version_usage.cc
Diffstat (limited to 'src')
| -rw-r--r-- | src/HelpItemFactory.cc | 45 | ||||
| -rw-r--r-- | src/HelpItemFactory.h | 3 | ||||
| -rw-r--r-- | src/option_processing.cc | 17 | ||||
| -rw-r--r-- | src/version_usage.cc | 4 |
4 files changed, 46 insertions, 23 deletions
diff --git a/src/HelpItemFactory.cc b/src/HelpItemFactory.cc index 4c80b189..bd5e9a11 100644 --- a/src/HelpItemFactory.cc +++ b/src/HelpItemFactory.cc @@ -39,12 +39,13 @@ #include "prefs.h" #include "a2io.h" #include "help_tags.h" +#include "Option.h" namespace aria2 { HelpItemFactory::HelpItemFactory() {} -TagContainerHandle HelpItemFactory::createHelpItems() +TagContainerHandle HelpItemFactory::createHelpItems(const Option* op) { TagContainerHandle tc(new TagContainer()); { @@ -185,7 +186,8 @@ TagContainerHandle HelpItemFactory::createHelpItems() } #ifdef ENABLE_DIRECT_IO { - HelpItemHandle item(new HelpItem(PREF_ENABLE_DIRECT_IO, TEXT_ENABLE_DIRECT_IO, V_TRUE)); + HelpItemHandle item(new HelpItem(PREF_ENABLE_DIRECT_IO, TEXT_ENABLE_DIRECT_IO, + op->get(PREF_ENABLE_DIRECT_IO))); item->addTag(TAG_ADVANCED); tc->addItem(item); } @@ -196,7 +198,8 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_ALLOW_PIECE_LENGTH_CHANGE, TEXT_ALLOW_PIECE_LENGTH_CHANGE, V_FALSE)); + HelpItemHandle item(new HelpItem(PREF_ALLOW_PIECE_LENGTH_CHANGE, TEXT_ALLOW_PIECE_LENGTH_CHANGE, + op->get(PREF_ALLOW_PIECE_LENGTH_CHANGE))); item->addTag(TAG_ADVANCED); tc->addItem(item); } @@ -295,7 +298,7 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_FOLLOW_TORRENT, TEXT_FOLLOW_TORRENT, V_TRUE)); + HelpItemHandle item(new HelpItem(PREF_FOLLOW_TORRENT, TEXT_FOLLOW_TORRENT, op->get(PREF_FOLLOW_TORRENT))); item->addTag(TAG_BITTORRENT); tc->addItem(item); } @@ -305,7 +308,8 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_LISTEN_PORT, TEXT_LISTEN_PORT, "6881-6999")); + HelpItemHandle item(new HelpItem(PREF_LISTEN_PORT, TEXT_LISTEN_PORT, + op->get(PREF_LISTEN_PORT))); item->addTag(TAG_BASIC); item->addTag(TAG_BITTORRENT); tc->addItem(item); @@ -322,7 +326,8 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_SEED_RATIO, TEXT_SEED_RATIO, "1.0")); + HelpItemHandle item(new HelpItem(PREF_SEED_RATIO, TEXT_SEED_RATIO, + op->get(PREF_SEED_RATIO))); item->addTag(TAG_BITTORRENT); tc->addItem(item); } @@ -332,18 +337,21 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_ENABLE_PEER_EXCHANGE, TEXT_ENABLE_PEER_EXCHANGE, V_TRUE)); + HelpItemHandle item(new HelpItem(PREF_ENABLE_PEER_EXCHANGE, TEXT_ENABLE_PEER_EXCHANGE, + op->get(PREF_ENABLE_PEER_EXCHANGE))); item->addTag(TAG_BITTORRENT); tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_ENABLE_DHT, TEXT_ENABLE_DHT, V_FALSE)); + HelpItemHandle item(new HelpItem(PREF_ENABLE_DHT, TEXT_ENABLE_DHT, + op->get(PREF_ENABLE_DHT))); item->addTag(TAG_BASIC); item->addTag(TAG_BITTORRENT); tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_DHT_LISTEN_PORT, TEXT_DHT_LISTEN_PORT, "6881-6999")); + HelpItemHandle item(new HelpItem(PREF_DHT_LISTEN_PORT, TEXT_DHT_LISTEN_PORT, + op->get(PREF_DHT_LISTEN_PORT))); item->addTag(TAG_BASIC); item->addTag(TAG_BITTORRENT); tc->addItem(item); @@ -354,12 +362,14 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_BT_MIN_CRYPTO_LEVEL, TEXT_BT_MIN_CRYPTO_LEVEL, V_PLAIN)); + HelpItemHandle item(new HelpItem(PREF_BT_MIN_CRYPTO_LEVEL, TEXT_BT_MIN_CRYPTO_LEVEL, + op->get(PREF_BT_MIN_CRYPTO_LEVEL))); item->addTag(TAG_BITTORRENT); tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_BT_REQUIRE_CRYPTO, TEXT_BT_REQUIRE_CRYPTO, V_FALSE)); + HelpItemHandle item(new HelpItem(PREF_BT_REQUIRE_CRYPTO, TEXT_BT_REQUIRE_CRYPTO, + op->get(PREF_BT_REQUIRE_CRYPTO))); item->addTag(TAG_BITTORRENT); tc->addItem(item); } @@ -397,17 +407,22 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_METALINK_PREFERRED_PROTOCOL, TEXT_METALINK_PREFERRED_PROTOCOL, V_NONE)); + HelpItemHandle item(new HelpItem(PREF_METALINK_PREFERRED_PROTOCOL, TEXT_METALINK_PREFERRED_PROTOCOL, + op->get(PREF_METALINK_PREFERRED_PROTOCOL))); item->addTag(TAG_METALINK); tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_FOLLOW_METALINK, TEXT_FOLLOW_METALINK, V_TRUE)); + HelpItemHandle item(new HelpItem(PREF_FOLLOW_METALINK, + TEXT_FOLLOW_METALINK, + op->get(PREF_FOLLOW_METALINK))); item->addTag(TAG_METALINK); tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_METALINK_ENABLE_UNIQUE_PROTOCOL, TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL, V_TRUE)); + HelpItemHandle item(new HelpItem(PREF_METALINK_ENABLE_UNIQUE_PROTOCOL, + TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL, + op->get(PREF_METALINK_ENABLE_UNIQUE_PROTOCOL))); item->addTag(TAG_METALINK); tc->addItem(item); } @@ -428,7 +443,7 @@ TagContainerHandle HelpItemFactory::createHelpItems() tc->addItem(item); } { - HelpItemHandle item(new HelpItem(PREF_STOP, TEXT_STOP, "0")); + HelpItemHandle item(new HelpItem(PREF_STOP, TEXT_STOP, op->get(PREF_STOP))); item->addTag(TAG_ADVANCED); tc->addItem(item); } diff --git a/src/HelpItemFactory.h b/src/HelpItemFactory.h index 5ec53a4a..bddb2e5a 100644 --- a/src/HelpItemFactory.h +++ b/src/HelpItemFactory.h @@ -41,12 +41,13 @@ namespace aria2 { class TagContainer; +class Option; class HelpItemFactory { private: HelpItemFactory(); public: - static SharedHandle<TagContainer> createHelpItems(); + static SharedHandle<TagContainer> createHelpItems(const Option* option); }; } // namespace aria2 diff --git a/src/option_processing.cc b/src/option_processing.cc index fb5143b3..4a5b78a8 100644 --- a/src/option_processing.cc +++ b/src/option_processing.cc @@ -56,7 +56,7 @@ extern int optind, opterr, optopt; namespace aria2 { extern void showVersion(); -extern void showUsage(const std::string& category); +extern void showUsage(const std::string& category, const Option* option); static std::string toBoolArg(const char* optarg) { @@ -69,10 +69,8 @@ static std::string toBoolArg(const char* optarg) return arg; } -Option* option_processing(int argc, char* const argv[]) +Option* createDefaultOption() { - std::stringstream cmdstream; - int32_t c; Option* op = new Option(); op->put(PREF_STDOUT_LOG, V_FALSE); op->put(PREF_DIR, "."); @@ -144,6 +142,15 @@ Option* option_processing(int argc, char* const argv[]) op->put(PREF_BT_MIN_CRYPTO_LEVEL, V_PLAIN); op->put(PREF_BT_REQUIRE_CRYPTO, V_FALSE); op->put(PREF_QUIET, V_FALSE); + op->put(PREF_STOP, "0"); + return op; +} + +Option* option_processing(int argc, char* const argv[]) +{ + std::stringstream cmdstream; + int32_t c; + Option* op = createDefaultOption(); // following options are not parsed by OptionHandler and not stored in Option. bool noConf = false; @@ -487,7 +494,7 @@ Option* option_processing(int argc, char* const argv[]) } else { category = optarg; } - showUsage(category); + showUsage(category, createDefaultOption()); exit(EXIT_SUCCESS); } default: diff --git a/src/version_usage.cc b/src/version_usage.cc index c4d35bc0..7add5a5c 100644 --- a/src/version_usage.cc +++ b/src/version_usage.cc @@ -94,7 +94,7 @@ void showVersion() { std::cout << std::endl; } -void showUsage(const std::string& category) { +void showUsage(const std::string& category, const Option* option) { printf(_("Usage: %s [options] URL ...\n"), PACKAGE_NAME); #ifdef ENABLE_BITTORRENT printf(_(" %s [options] -T TORRENT_FILE URL ...\n"), PACKAGE_NAME); @@ -104,7 +104,7 @@ void showUsage(const std::string& category) { #endif // ENABLE_METALINK std::cout << "\n"; - SharedHandle<TagContainer> tc = HelpItemFactory::createHelpItems(); + SharedHandle<TagContainer> tc = HelpItemFactory::createHelpItems(option); std::deque<SharedHandle<TaggedItem> > items = category == V_ALL ? tc->getAllItems() : tc->search(category); if(items.size() > 0) { |
