summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-22 11:26:50 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-22 11:26:50 +0000
commitda615e4e7a67956da9d9daeba7364e89ec8c36c5 (patch)
treefcb50cbb3d7a46169fd69d8831341ba8930601b5 /src
parentc87fe0022d51785ac5f8a14e54765e3baa295c30 (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.cc45
-rw-r--r--src/HelpItemFactory.h3
-rw-r--r--src/option_processing.cc17
-rw-r--r--src/version_usage.cc4
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) {