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
pull/1/head
Tatsuhiro Tsujikawa 2008-04-22 11:26:50 +00:00
parent c87fe0022d
commit da615e4e7a
5 changed files with 55 additions and 23 deletions

View File

@ -1,3 +1,12 @@
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
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --quiet option to make aria2 quiet (no console output).

View File

@ -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);
}

View File

@ -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

View File

@ -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:

View File

@ -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) {