summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/AbstractOptionHandler.cc2
-rw-r--r--src/AbstractOptionHandler.h4
-rw-r--r--src/OptionHandler.h2
-rw-r--r--src/OptionHandlerFactory.cc1832
-rw-r--r--src/OptionHandlerFactory.h4
-rw-r--r--src/OptionHandlerImpl.cc39
-rw-r--r--src/OptionHandlerImpl.h44
-rw-r--r--src/OptionParser.cc51
-rw-r--r--src/OptionParser.h19
-rw-r--r--src/RpcMethod.cc10
-rw-r--r--src/RpcMethodImpl.cc4
-rw-r--r--src/SessionSerializer.cc2
-rw-r--r--src/download_helper.cc2
-rw-r--r--src/option_processing.cc6
-rw-r--r--src/version_usage.cc8
-rw-r--r--test/OptionHandlerTest.cc9
-rw-r--r--test/OptionParserTest.cc27
17 files changed, 1035 insertions, 1030 deletions
diff --git a/src/AbstractOptionHandler.cc b/src/AbstractOptionHandler.cc
index 46ba7c7a..a0c399c5 100644
--- a/src/AbstractOptionHandler.cc
+++ b/src/AbstractOptionHandler.cc
@@ -61,7 +61,7 @@ AbstractOptionHandler::AbstractOptionHandler
AbstractOptionHandler::~AbstractOptionHandler() {}
-void AbstractOptionHandler::parse(Option& option, const std::string& arg)
+void AbstractOptionHandler::parse(Option& option, const std::string& arg) const
{
try {
parseArg(option, arg);
diff --git a/src/AbstractOptionHandler.h b/src/AbstractOptionHandler.h
index 296852b6..5af9cc10 100644
--- a/src/AbstractOptionHandler.h
+++ b/src/AbstractOptionHandler.h
@@ -54,7 +54,7 @@ protected:
char shortName_;
- virtual void parseArg(Option& option, const std::string& arg) = 0;
+ virtual void parseArg(Option& option, const std::string& arg) const = 0;
public:
AbstractOptionHandler(const Pref* pref,
const char* description = NO_DESCRIPTION,
@@ -64,7 +64,7 @@ public:
virtual ~AbstractOptionHandler();
- virtual void parse(Option& option, const std::string& arg);
+ virtual void parse(Option& option, const std::string& arg) const;
virtual bool hasTag(uint32_t tag) const;
diff --git a/src/OptionHandler.h b/src/OptionHandler.h
index a0f0ed8a..eb9272c2 100644
--- a/src/OptionHandler.h
+++ b/src/OptionHandler.h
@@ -63,7 +63,7 @@ class OptionHandler {
public:
virtual ~OptionHandler() {}
- virtual void parse(Option& option, const std::string& arg) = 0;
+ virtual void parse(Option& option, const std::string& arg) const = 0;
virtual std::string createPossibleValuesString() const = 0;
diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc
index cfb47001..3d440741 100644
--- a/src/OptionHandlerFactory.cc
+++ b/src/OptionHandlerFactory.cc
@@ -45,17 +45,16 @@
namespace aria2 {
-std::vector<SharedHandle<OptionHandler> >
-OptionHandlerFactory::createOptionHandlers()
+std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
{
- std::vector<SharedHandle<OptionHandler> > handlers;
+ std::vector<OptionHandler*> handlers;
// General Options
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ALLOW_OVERWRITE,
- TEXT_ALLOW_OVERWRITE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ALLOW_OVERWRITE,
+ TEXT_ALLOW_OVERWRITE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FILE);
op->setInitialOption(true);
@@ -64,11 +63,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ALLOW_PIECE_LENGTH_CHANGE,
- TEXT_ALLOW_PIECE_LENGTH_CHANGE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ALLOW_PIECE_LENGTH_CHANGE,
+ TEXT_ALLOW_PIECE_LENGTH_CHANGE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -76,11 +75,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ALWAYS_RESUME,
- TEXT_ALWAYS_RESUME,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ALWAYS_RESUME,
+ TEXT_ALWAYS_RESUME,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -91,15 +90,15 @@ OptionHandlerFactory::createOptionHandlers()
}
#ifdef ENABLE_ASYNC_DNS
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ASYNC_DNS,
- TEXT_ASYNC_DNS,
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ASYNC_DNS,
+ TEXT_ASYNC_DNS,
#if defined(__ANDROID__) || defined(ANDROID)
- A2_V_FALSE,
+ A2_V_FALSE,
#else // !__ANDROID__ && !ANDROID
- A2_V_TRUE,
+ A2_V_TRUE,
#endif // !__ANDROID__ && !ANDROID
- OptionHandler::OPT_ARG));
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -108,21 +107,21 @@ OptionHandlerFactory::createOptionHandlers()
}
#if defined HAVE_ARES_SET_SERVERS && HAVE_ARES_ADDR_NODE
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ASYNC_DNS_SERVER,
- TEXT_ASYNC_DNS_SERVER,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ASYNC_DNS_SERVER,
+ TEXT_ASYNC_DNS_SERVER,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
#endif // HAVE_ARES_SET_SERVERS && HAVE_ARES_ADDR_NODE
#endif // ENABLE_ASYNC_DNS
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_AUTO_FILE_RENAMING,
- TEXT_AUTO_FILE_RENAMING,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_AUTO_FILE_RENAMING,
+ TEXT_AUTO_FILE_RENAMING,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FILE);
op->setInitialOption(true);
@@ -131,22 +130,22 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_AUTO_SAVE_INTERVAL,
- TEXT_AUTO_SAVE_INTERVAL,
- "60",
- 0, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_AUTO_SAVE_INTERVAL,
+ TEXT_AUTO_SAVE_INTERVAL,
+ "60",
+ 0, 600));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
#ifdef ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_CHECK_INTEGRITY,
- TEXT_CHECK_INTEGRITY,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'V'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_CHECK_INTEGRITY,
+ TEXT_CHECK_INTEGRITY,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'V'));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_METALINK);
@@ -159,11 +158,11 @@ OptionHandlerFactory::createOptionHandlers()
}
#endif // ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_CONDITIONAL_GET,
- TEXT_CONDITIONAL_GET,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_CONDITIONAL_GET,
+ TEXT_CONDITIONAL_GET,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -172,21 +171,21 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_CONF_PATH,
- TEXT_CONF_PATH,
- util::getHomeDir()+"/.aria2/aria2.conf",
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_CONF_PATH,
+ TEXT_CONF_PATH,
+ util::getHomeDir()+"/.aria2/aria2.conf",
+ PATH_TO_FILE));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_CONTINUE,
- TEXT_CONTINUE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'c'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_CONTINUE,
+ TEXT_CONTINUE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'c'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -196,32 +195,32 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_DAEMON,
- TEXT_DAEMON,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'D'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_DAEMON,
+ TEXT_DAEMON,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'D'));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_DEFERRED_INPUT,
- TEXT_DEFERRED_INPUT,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_DEFERRED_INPUT,
+ TEXT_DEFERRED_INPUT,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_DIR,
- TEXT_DIR,
- File::getCurrentDir(),
- PATH_TO_DIR,
- OptionHandler::REQ_ARG,
- 'd'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_DIR,
+ TEXT_DIR,
+ File::getCurrentDir(),
+ PATH_TO_DIR,
+ OptionHandler::REQ_ARG,
+ 'd'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FILE);
op->setInitialOption(true);
@@ -230,51 +229,51 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_DISABLE_IPV6,
- TEXT_DISABLE_IPV6,
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_DISABLE_IPV6,
+ TEXT_DISABLE_IPV6,
#if defined(__MINGW32__) && !defined(__MINGW64__)
- // Disable IPv6 by default for
- // MinGW build. This is because
- // numerous IPv6 routines are
- // available from Vista. Checking
- // getaddrinfo failed in
- // configure.
- A2_V_TRUE,
+ // Disable IPv6 by default for
+ // MinGW build. This is because
+ // numerous IPv6 routines are
+ // available from Vista. Checking
+ // getaddrinfo failed in
+ // configure.
+ A2_V_TRUE,
#else // !defined(__MINGW32__) || defined(__MINGW64__)
- A2_V_FALSE,
+ A2_V_FALSE,
#endif // !defined(__MINGW32__) || defined(__MINGW64__)
- OptionHandler::OPT_ARG));
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_DNS_TIMEOUT,
- NO_DESCRIPTION,
- "30",
- 1, 60));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_DNS_TIMEOUT,
+ NO_DESCRIPTION,
+ "30",
+ 1, 60));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_DOWNLOAD_RESULT,
- TEXT_DOWNLOAD_RESULT,
- A2_V_DEFAULT,
- A2_V_DEFAULT,
- A2_V_FULL));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_DOWNLOAD_RESULT,
+ TEXT_DOWNLOAD_RESULT,
+ A2_V_DEFAULT,
+ A2_V_DEFAULT,
+ A2_V_FULL));
op->addTag(TAG_ADVANCED);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
#ifdef ENABLE_ASYNC_DNS
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_ASYNC_DNS6,
- TEXT_ENABLE_ASYNC_DNS6,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_ASYNC_DNS6,
+ TEXT_ENABLE_ASYNC_DNS6,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -284,13 +283,11 @@ OptionHandlerFactory::createOptionHandlers()
#endif // ENABLE_ASYNC_DNS
{
// TODO Deprecated
- SharedHandle<OptionHandler> op
- (new DeprecatedOptionHandler
- (SharedHandle<OptionHandler>(new BooleanOptionHandler
- (PREF_ENABLE_DIRECT_IO,
- TEXT_ENABLE_DIRECT_IO,
- NO_DEFAULT_VALUE,
- OptionHandler::OPT_ARG))));
+ OptionHandler* op(new DeprecatedOptionHandler(new BooleanOptionHandler
+ (PREF_ENABLE_DIRECT_IO,
+ TEXT_ENABLE_DIRECT_IO,
+ NO_DEFAULT_VALUE,
+ OptionHandler::OPT_ARG)));
op->addTag(TAG_DEPRECATED);
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FILE);
@@ -298,11 +295,11 @@ OptionHandlerFactory::createOptionHandlers()
}
#ifdef HAVE_MMAP
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_MMAP,
- TEXT_ENABLE_MMAP,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_MMAP,
+ TEXT_ENABLE_MMAP,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_EXPERIMENTAL);
op->setInitialOption(true);
@@ -312,11 +309,11 @@ OptionHandlerFactory::createOptionHandlers()
}
#endif // HAVE_MMAP
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_RPC,
- TEXT_ENABLE_RPC,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_RPC,
+ TEXT_ENABLE_RPC,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_RPC);
handlers.push_back(op);
}
@@ -336,20 +333,20 @@ OptionHandlerFactory::createOptionHandlers()
#endif // HAVE_POLL
V_SELECT
};
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_EVENT_POLL,
- TEXT_EVENT_POLL,
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_EVENT_POLL,
+ TEXT_EVENT_POLL,
#ifdef HAVE_EPOLL
- V_EPOLL,
+ V_EPOLL,
#elif HAVE_KQUEUE
- V_KQUEUE,
+ V_KQUEUE,
#elif HAVE_PORT_ASSOCIATE
- V_PORT,
+ V_PORT,
#else
- V_SELECT,
+ V_SELECT,
#endif // !HAVE_EPOLL
- std::vector<std::string>
- (vbegin(params), vend(params))));
+ std::vector<std::string>
+ (vbegin(params), vend(params))));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
@@ -359,13 +356,13 @@ OptionHandlerFactory::createOptionHandlers()
V_FALLOC
#endif // HAVE_SOME_FALLOCATE
};
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_FILE_ALLOCATION,
- TEXT_FILE_ALLOCATION,
- V_PREALLOC,
- std::vector<std::string>
- (vbegin(params), vend(params)),
- 'a'));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_FILE_ALLOCATION,
+ TEXT_FILE_ALLOCATION,
+ V_PREALLOC,
+ std::vector<std::string>
+ (vbegin(params), vend(params)),
+ 'a'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FILE);
op->setInitialOption(true);
@@ -374,22 +371,22 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_FORCE_SEQUENTIAL,
- TEXT_FORCE_SEQUENTIAL,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'Z'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_FORCE_SEQUENTIAL,
+ TEXT_FORCE_SEQUENTIAL,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'Z'));
op->addTag(TAG_BASIC);
handlers.push_back(op);
}
#ifdef ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_HASH_CHECK_ONLY,
- TEXT_HASH_CHECK_ONLY,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_HASH_CHECK_ONLY,
+ TEXT_HASH_CHECK_ONLY,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_METALINK);
@@ -402,77 +399,77 @@ OptionHandlerFactory::createOptionHandlers()
}
#endif // ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_HUMAN_READABLE,
- TEXT_HUMAN_READABLE,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_HUMAN_READABLE,
+ TEXT_HUMAN_READABLE,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_INPUT_FILE,
- TEXT_INPUT_FILE,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE_STDIN,
- OptionHandler::REQ_ARG,
- 'i'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_INPUT_FILE,
+ TEXT_INPUT_FILE,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE_STDIN,
+ OptionHandler::REQ_ARG,
+ 'i'));
op->addTag(TAG_BASIC);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_INTERFACE,
- TEXT_INTERFACE,
- NO_DEFAULT_VALUE,
- "interface, IP address, hostname",
- OptionHandler::REQ_ARG));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_INTERFACE,
+ TEXT_INTERFACE,
+ NO_DEFAULT_VALUE,
+ "interface, IP address, hostname",
+ OptionHandler::REQ_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_LOG,
- TEXT_LOG,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE_STDOUT,
- OptionHandler::REQ_ARG,
- 'l'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_LOG,
+ TEXT_LOG,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE_STDOUT,
+ OptionHandler::REQ_ARG,
+ 'l'));
op->addTag(TAG_BASIC);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
const std::string params[] = { V_DEBUG, V_INFO, V_NOTICE, V_WARN, V_ERROR };
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_LOG_LEVEL,
- TEXT_LOG_LEVEL,
- V_DEBUG,
- std::vector<std::string>
- (vbegin(params), vend(params))));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_LOG_LEVEL,
+ TEXT_LOG_LEVEL,
+ V_DEBUG,
+ std::vector<std::string>
+ (vbegin(params), vend(params))));
op->addTag(TAG_ADVANCED);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_CONCURRENT_DOWNLOADS,
- TEXT_MAX_CONCURRENT_DOWNLOADS,
- "5",
- 1, -1,
- 'j'));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_CONCURRENT_DOWNLOADS,
+ TEXT_MAX_CONCURRENT_DOWNLOADS,
+ "5",
+ 1, -1,
+ 'j'));
op->addTag(TAG_BASIC);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_CONNECTION_PER_SERVER,
- TEXT_MAX_CONNECTION_PER_SERVER,
- "1",
- 1, 16,
- 'x'));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_CONNECTION_PER_SERVER,
+ TEXT_MAX_CONNECTION_PER_SERVER,
+ "1",
+ 1, 16,
+ 'x'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -482,11 +479,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_MAX_DOWNLOAD_LIMIT,
- TEXT_MAX_DOWNLOAD_LIMIT,
- "0",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_MAX_DOWNLOAD_LIMIT,
+ TEXT_MAX_DOWNLOAD_LIMIT,
+ "0",
+ 0));
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -497,21 +494,21 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_DOWNLOAD_RESULT,
- TEXT_MAX_DOWNLOAD_RESULT,
- "1000",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_DOWNLOAD_RESULT,
+ TEXT_MAX_DOWNLOAD_RESULT,
+ "1000",
+ 0));
op->addTag(TAG_ADVANCED);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_MAX_OVERALL_DOWNLOAD_LIMIT,
- TEXT_MAX_OVERALL_DOWNLOAD_LIMIT,
- "0",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_MAX_OVERALL_DOWNLOAD_LIMIT,
+ TEXT_MAX_OVERALL_DOWNLOAD_LIMIT,
+ "0",
+ 0));
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -519,11 +516,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_RESUME_FAILURE_TRIES,
- TEXT_MAX_RESUME_FAILURE_TRIES,
- "0",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_RESUME_FAILURE_TRIES,
+ TEXT_MAX_RESUME_FAILURE_TRIES,
+ "0",
+ 0));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -533,12 +530,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_MIN_SPLIT_SIZE,
- TEXT_MIN_SPLIT_SIZE,
- "20M",
- 1024*1024, 1024*1024*1024,
- 'k'));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_MIN_SPLIT_SIZE,
+ TEXT_MIN_SPLIT_SIZE,
+ "20M",
+ 1024*1024, 1024*1024*1024,
+ 'k'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -548,20 +545,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_NO_CONF,
- TEXT_NO_CONF,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_NO_CONF,
+ TEXT_NO_CONF,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_NO_FILE_ALLOCATION_LIMIT,
- TEXT_NO_FILE_ALLOCATION_LIMIT,
- "5M",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_NO_FILE_ALLOCATION_LIMIT,
+ TEXT_NO_FILE_ALLOCATION_LIMIT,
+ "5M",
+ 0));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FILE);
op->setInitialOption(true);
@@ -570,95 +567,95 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_DOWNLOAD_COMPLETE,
- TEXT_ON_DOWNLOAD_COMPLETE,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_DOWNLOAD_COMPLETE,
+ TEXT_ON_DOWNLOAD_COMPLETE,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_DOWNLOAD_ERROR,
- TEXT_ON_DOWNLOAD_ERROR,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_DOWNLOAD_ERROR,
+ TEXT_ON_DOWNLOAD_ERROR,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_DOWNLOAD_PAUSE,
- TEXT_ON_DOWNLOAD_PAUSE,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_DOWNLOAD_PAUSE,
+ TEXT_ON_DOWNLOAD_PAUSE,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_DOWNLOAD_START,
- TEXT_ON_DOWNLOAD_START,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_DOWNLOAD_START,
+ TEXT_ON_DOWNLOAD_START,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_DOWNLOAD_STOP,
- TEXT_ON_DOWNLOAD_STOP,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_DOWNLOAD_STOP,
+ TEXT_ON_DOWNLOAD_STOP,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_PARAMETERIZED_URI,
- TEXT_PARAMETERIZED_URI,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'P'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_PARAMETERIZED_URI,
+ TEXT_PARAMETERIZED_URI,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'P'));
op->addTag(TAG_ADVANCED);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_PAUSE,
- TEXT_PAUSE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_PAUSE,
+ TEXT_PAUSE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_RPC);
op->setInitialOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_QUIET,
- TEXT_QUIET,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'q'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_QUIET,
+ TEXT_QUIET,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'q'));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
#ifdef ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_REALTIME_CHUNK_CHECKSUM,
- TEXT_REALTIME_CHUNK_CHECKSUM,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_REALTIME_CHUNK_CHECKSUM,
+ TEXT_REALTIME_CHUNK_CHECKSUM,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_METALINK);
op->addTag(TAG_CHECKSUM);
op->setInitialOption(true);
@@ -668,11 +665,11 @@ OptionHandlerFactory::createOptionHandlers()
}
#endif // ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_REMOVE_CONTROL_FILE,
- TEXT_REMOVE_CONTROL_FILE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_REMOVE_CONTROL_FILE,
+ TEXT_REMOVE_CONTROL_FILE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -680,115 +677,115 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_SAVE_SESSION,
- TEXT_SAVE_SESSION,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_SAVE_SESSION,
+ TEXT_SAVE_SESSION,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_ADVANCED);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_SELECT_LEAST_USED_HOST,
- NO_DESCRIPTION,
- A2_V_TRUE));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_SELECT_LEAST_USED_HOST,
+ NO_DESCRIPTION,
+ A2_V_TRUE));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_SHOW_CONSOLE_READOUT,
- TEXT_SHOW_CONSOLE_READOUT,
- A2_V_TRUE));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_SHOW_CONSOLE_READOUT,
+ TEXT_SHOW_CONSOLE_READOUT,
+ A2_V_TRUE));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_STOP,
- TEXT_STOP,
- "0",
- 0, INT32_MAX));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_STOP,
+ TEXT_STOP,
+ "0",
+ 0, INT32_MAX));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_STOP_WITH_PROCESS,
- TEXT_STOP_WITH_PROCESS,
- NO_DEFAULT_VALUE,
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_STOP_WITH_PROCESS,
+ TEXT_STOP_WITH_PROCESS,
+ NO_DEFAULT_VALUE,
+ 0));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_SUMMARY_INTERVAL,
- TEXT_SUMMARY_INTERVAL,
- "60",
- 0, INT32_MAX));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_SUMMARY_INTERVAL,
+ TEXT_SUMMARY_INTERVAL,
+ "60",
+ 0, INT32_MAX));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_TRUNCATE_CONSOLE_READOUT,
- TEXT_TRUNCATE_CONSOLE_READOUT,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_TRUNCATE_CONSOLE_READOUT,
+ TEXT_TRUNCATE_CONSOLE_READOUT,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_ADVANCED);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_RPC_ALLOW_ORIGIN_ALL,
- TEXT_RPC_ALLOW_ORIGIN_ALL,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_RPC_ALLOW_ORIGIN_ALL,
+ TEXT_RPC_ALLOW_ORIGIN_ALL,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_RPC);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_RPC_LISTEN_ALL,
- TEXT_RPC_LISTEN_ALL,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_RPC_LISTEN_ALL,
+ TEXT_RPC_LISTEN_ALL,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_RPC);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_RPC_LISTEN_PORT,
- TEXT_RPC_LISTEN_PORT,
- "6800",
- 1024, UINT16_MAX));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_RPC_LISTEN_PORT,
+ TEXT_RPC_LISTEN_PORT,
+ "6800",
+ 1024, UINT16_MAX));
op->addTag(TAG_RPC);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_RPC_MAX_REQUEST_SIZE,
- TEXT_RPC_MAX_REQUEST_SIZE,
- "2M",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_RPC_MAX_REQUEST_SIZE,
+ TEXT_RPC_MAX_REQUEST_SIZE,
+ "2M",
+ 0));
op->addTag(TAG_RPC);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_RPC_USER,
- TEXT_RPC_USER));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_RPC_USER,
+ TEXT_RPC_USER));
op->addTag(TAG_RPC);
op->setEraseAfterParse(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_RPC_PASSWD,
- TEXT_RPC_PASSWD));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_RPC_PASSWD,
+ TEXT_RPC_PASSWD));
op->addTag(TAG_RPC);
op->setEraseAfterParse(true);
handlers.push_back(op);
@@ -796,9 +793,9 @@ OptionHandlerFactory::createOptionHandlers()
// HTTP/FTP options
#ifdef ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new ChecksumOptionHandler
- (PREF_CHECKSUM,
- TEXT_CHECKSUM));
+ OptionHandler* op(new ChecksumOptionHandler
+ (PREF_CHECKSUM,
+ TEXT_CHECKSUM));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->addTag(TAG_CHECKSUM);
@@ -808,11 +805,11 @@ OptionHandlerFactory::createOptionHandlers()
}
#endif // ENABLE_MESSAGE_DIGEST
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_CONNECT_TIMEOUT,
- TEXT_CONNECT_TIMEOUT,
- "60",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_CONNECT_TIMEOUT,
+ TEXT_CONNECT_TIMEOUT,
+ "60",
+ 1, 600));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -821,11 +818,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_DRY_RUN,
- TEXT_DRY_RUN,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_DRY_RUN,
+ TEXT_DRY_RUN,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -833,11 +830,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_LOWEST_SPEED_LIMIT,
- TEXT_LOWEST_SPEED_LIMIT,
- "0",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_LOWEST_SPEED_LIMIT,
+ TEXT_LOWEST_SPEED_LIMIT,
+ "0",
+ 0));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -846,11 +843,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_FILE_NOT_FOUND,
- TEXT_MAX_FILE_NOT_FOUND,
- "0",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_FILE_NOT_FOUND,
+ TEXT_MAX_FILE_NOT_FOUND,
+ "0",
+ 0));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -859,12 +856,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_MAX_TRIES,
- TEXT_MAX_TRIES,
- "5",
- 0, -1,
- 'm'));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_TRIES,
+ TEXT_MAX_TRIES,
+ "5",
+ 0, -1,
+ 'm'));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -873,12 +870,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_NO_NETRC,
- TEXT_NO_NETRC,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'n'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_NO_NETRC,
+ TEXT_NO_NETRC,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'n'));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -887,13 +884,13 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_OUT,
- TEXT_OUT,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE,
- OptionHandler::REQ_ARG,
- 'o'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_OUT,
+ TEXT_OUT,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE,
+ OptionHandler::REQ_ARG,
+ 'o'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -903,12 +900,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<UnitNumberOptionHandler> op(new UnitNumberOptionHandler
- (PREF_PIECE_LENGTH,
- TEXT_PIECE_LENGTH,
- "1M",
- 1024*1024,
- 1024*1024*1024));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_PIECE_LENGTH,
+ TEXT_PIECE_LENGTH,
+ "1M",
+ 1024*1024,
+ 1024*1024*1024));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -917,12 +914,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_REMOTE_TIME,
- TEXT_REMOTE_TIME,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'R'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_REMOTE_TIME,
+ TEXT_REMOTE_TIME,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'R'));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -931,11 +928,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_RETRY_WAIT,
- TEXT_RETRY_WAIT,
- "0",
- 0, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_RETRY_WAIT,
+ TEXT_RETRY_WAIT,
+ "0",
+ 0, 600));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -944,11 +941,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_REUSE_URI,
- TEXT_REUSE_URI,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_REUSE_URI,
+ TEXT_REUSE_URI,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -957,44 +954,44 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_SERVER_STAT_IF,
- TEXT_SERVER_STAT_IF,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_SERVER_STAT_IF,
+ TEXT_SERVER_STAT_IF,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_SERVER_STAT_OF,
- TEXT_SERVER_STAT_OF,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_SERVER_STAT_OF,
+ TEXT_SERVER_STAT_OF,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_SERVER_STAT_TIMEOUT,
- TEXT_SERVER_STAT_TIMEOUT,
- "86400",
- 0, INT32_MAX));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_SERVER_STAT_TIMEOUT,
+ TEXT_SERVER_STAT_TIMEOUT,
+ "86400",
+ 0, INT32_MAX));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
handlers.push_back(op);
}
- SharedHandle<OptionHandler> splitHandler;
+ OptionHandler* splitHandler;
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_SPLIT,
- TEXT_SPLIT,
- "5",
- 1, -1,
- 's'));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_SPLIT,
+ TEXT_SPLIT,
+ "5",
+ 1, -1,
+ 's'));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
@@ -1005,22 +1002,22 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_STARTUP_IDLE_TIME,
- NO_DESCRIPTION,
- "10",
- 1, 60));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_STARTUP_IDLE_TIME,
+ NO_DESCRIPTION,
+ "10",
+ 1, 60));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_STREAM_PIECE_SELECTOR,
- TEXT_STREAM_PIECE_SELECTOR,
- A2_V_DEFAULT,
- A2_V_DEFAULT,
- V_INORDER,
- A2_V_GEOM));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_STREAM_PIECE_SELECTOR,
+ TEXT_STREAM_PIECE_SELECTOR,
+ A2_V_DEFAULT,
+ A2_V_DEFAULT,
+ V_INORDER,
+ A2_V_GEOM));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -1029,12 +1026,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_TIMEOUT,
- TEXT_TIMEOUT,
- "60",
- 1, 600,
- 't'));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_TIMEOUT,
+ TEXT_TIMEOUT,
+ "60",
+ 1, 600,
+ 't'));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -1044,12 +1041,12 @@ OptionHandlerFactory::createOptionHandlers()
}
{
const std::string params[] = { V_INORDER, V_FEEDBACK, V_ADAPTIVE };
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_URI_SELECTOR,
- TEXT_URI_SELECTOR,
- V_FEEDBACK,
- std::vector<std::string>
- (vbegin(params), vend(params))));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_URI_SELECTOR,
+ TEXT_URI_SELECTOR,
+ V_FEEDBACK,
+ std::vector<std::string>
+ (vbegin(params), vend(params))));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -1059,41 +1056,41 @@ OptionHandlerFactory::createOptionHandlers()
}
// HTTP Specific Options
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_CA_CERTIFICATE,
- TEXT_CA_CERTIFICATE,
- CA_BUNDLE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_CA_CERTIFICATE,
+ TEXT_CA_CERTIFICATE,
+ CA_BUNDLE,
+ PATH_TO_FILE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_CERTIFICATE,
- TEXT_CERTIFICATE,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_CERTIFICATE,
+ TEXT_CERTIFICATE,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_CHECK_CERTIFICATE,
- TEXT_CHECK_CERTIFICATE,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_CHECK_CERTIFICATE,
+ TEXT_CHECK_CERTIFICATE,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_HTTP_KEEP_ALIVE,
- TEXT_ENABLE_HTTP_KEEP_ALIVE,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_HTTP_KEEP_ALIVE,
+ TEXT_ENABLE_HTTP_KEEP_ALIVE,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1101,11 +1098,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_HTTP_PIPELINING,
- TEXT_ENABLE_HTTP_PIPELINING,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_HTTP_PIPELINING,
+ TEXT_ENABLE_HTTP_PIPELINING,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1113,11 +1110,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new CumulativeOptionHandler
- (PREF_HEADER,
- TEXT_HEADER,
- NO_DEFAULT_VALUE,
- "\n"));
+ OptionHandler* op(new CumulativeOptionHandler
+ (PREF_HEADER,
+ TEXT_HEADER,
+ NO_DEFAULT_VALUE,
+ "\n"));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setCumulative(true);
@@ -1126,11 +1123,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_HTTP_ACCEPT_GZIP,
- TEXT_HTTP_ACCEPT_GZIP,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_HTTP_ACCEPT_GZIP,
+ TEXT_HTTP_ACCEPT_GZIP,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1138,11 +1135,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_HTTP_AUTH_CHALLENGE,
- TEXT_HTTP_AUTH_CHALLENGE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_HTTP_AUTH_CHALLENGE,
+ TEXT_HTTP_AUTH_CHALLENGE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1150,11 +1147,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_HTTP_NO_CACHE,
- TEXT_HTTP_NO_CACHE,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_HTTP_NO_CACHE,
+ TEXT_HTTP_NO_CACHE,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1162,9 +1159,9 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTP_PASSWD,
- TEXT_HTTP_PASSWD));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTP_PASSWD,
+ TEXT_HTTP_PASSWD));
op->addTag(TAG_BASIC);
op->addTag(TAG_HTTP);
op->setEraseAfterParse(true);
@@ -1174,9 +1171,9 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTP_USER,
- TEXT_HTTP_USER));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTP_USER,
+ TEXT_HTTP_USER));
op->addTag(TAG_BASIC);
op->addTag(TAG_HTTP);
op->setEraseAfterParse(true);
@@ -1186,29 +1183,29 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_LOAD_COOKIES,
- TEXT_LOAD_COOKIES,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_LOAD_COOKIES,
+ TEXT_LOAD_COOKIES,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_BASIC);
op->addTag(TAG_HTTP);
op->addTag(TAG_COOKIE);
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_MAX_HTTP_PIPELINING,
- NO_DESCRIPTION,
- "2",
- 1, 8));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_MAX_HTTP_PIPELINING,
+ NO_DESCRIPTION,
+ "2",
+ 1, 8));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_METALINK_LOCATION,
- TEXT_METALINK_LOCATION));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_METALINK_LOCATION,
+ TEXT_METALINK_LOCATION));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1216,19 +1213,19 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_PRIVATE_KEY,
- TEXT_PRIVATE_KEY,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_PRIVATE_KEY,
+ TEXT_PRIVATE_KEY,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_REFERER,
- TEXT_REFERER));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_REFERER,
+ TEXT_REFERER));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1236,22 +1233,22 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_SAVE_COOKIES,
- TEXT_SAVE_COOKIES,
- NO_DEFAULT_VALUE,
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_SAVE_COOKIES,
+ TEXT_SAVE_COOKIES,
+ NO_DEFAULT_VALUE,
+ PATH_TO_FILE));
op->addTag(TAG_HTTP);
op->addTag(TAG_COOKIE);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_USE_HEAD,
- TEXT_USE_HEAD,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_USE_HEAD,
+ TEXT_USE_HEAD,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1259,13 +1256,13 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_USER_AGENT,
- TEXT_USER_AGENT,
- "aria2/"PACKAGE_VERSION,
- A2STR::NIL,
- OptionHandler::REQ_ARG,
- 'U'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_USER_AGENT,
+ TEXT_USER_AGENT,
+ "aria2/"PACKAGE_VERSION,
+ A2STR::NIL,
+ OptionHandler::REQ_ARG,
+ 'U'));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1274,9 +1271,9 @@ OptionHandlerFactory::createOptionHandlers()
}
// FTP Specific Options
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_FTP_PASSWD,
- TEXT_FTP_PASSWD));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_FTP_PASSWD,
+ TEXT_FTP_PASSWD));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->setEraseAfterParse(true);
@@ -1286,12 +1283,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_FTP_PASV,
- TEXT_FTP_PASV,
- A2_V_TRUE,
- OptionHandler::OPT_ARG,
- 'p'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_FTP_PASV,
+ TEXT_FTP_PASV,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG,
+ 'p'));
op->addTag(TAG_FTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1299,11 +1296,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_FTP_REUSE_CONNECTION,
- TEXT_FTP_REUSE_CONNECTION,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_FTP_REUSE_CONNECTION,
+ TEXT_FTP_REUSE_CONNECTION,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_FTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1311,11 +1308,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_FTP_TYPE,
- TEXT_FTP_TYPE,
- V_BINARY,
- V_BINARY, V_ASCII));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_FTP_TYPE,
+ TEXT_FTP_TYPE,
+ V_BINARY,
+ V_BINARY, V_ASCII));
op->addTag(TAG_FTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1323,9 +1320,9 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_FTP_USER,
- TEXT_FTP_USER));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_FTP_USER,
+ TEXT_FTP_USER));
op->addTag(TAG_BASIC);
op->addTag(TAG_FTP);
op->setEraseAfterParse(true);
@@ -1335,20 +1332,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<DefaultOptionHandler> op(new DefaultOptionHandler
- (PREF_NETRC_PATH,
- NO_DESCRIPTION,
- util::getHomeDir()+"/.netrc",
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_NETRC_PATH,
+ NO_DESCRIPTION,
+ util::getHomeDir()+"/.netrc",
+ PATH_TO_FILE));
op->hide();
handlers.push_back(op);
}
// Proxy options
{
- SharedHandle<OptionHandler> op(new HttpProxyOptionHandler
- (PREF_HTTP_PROXY,
- TEXT_HTTP_PROXY,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new HttpProxyOptionHandler
+ (PREF_HTTP_PROXY,
+ TEXT_HTTP_PROXY,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1356,10 +1353,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTP_PROXY_PASSWD,
- TEXT_HTTP_PROXY_PASSWD,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTP_PROXY_PASSWD,
+ TEXT_HTTP_PROXY_PASSWD,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->setEraseAfterParse(true);
op->setInitialOption(true);
@@ -1368,10 +1365,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTP_PROXY_USER,
- TEXT_HTTP_PROXY_USER,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTP_PROXY_USER,
+ TEXT_HTTP_PROXY_USER,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->setEraseAfterParse(true);
op->setInitialOption(true);
@@ -1380,10 +1377,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new HttpProxyOptionHandler
- (PREF_HTTPS_PROXY,
- TEXT_HTTPS_PROXY,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new HttpProxyOptionHandler
+ (PREF_HTTPS_PROXY,
+ TEXT_HTTPS_PROXY,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
op->setInitialOption(true);
@@ -1392,10 +1389,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTPS_PROXY_PASSWD,
- TEXT_HTTPS_PROXY_PASSWD,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTPS_PROXY_PASSWD,
+ TEXT_HTTPS_PROXY_PASSWD,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
op->setEraseAfterParse(true);
@@ -1405,10 +1402,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HTTPS_PROXY_USER,
- TEXT_HTTPS_PROXY_USER,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HTTPS_PROXY_USER,
+ TEXT_HTTPS_PROXY_USER,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
op->setEraseAfterParse(true);
@@ -1418,10 +1415,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new HttpProxyOptionHandler
- (PREF_FTP_PROXY,
- TEXT_FTP_PROXY,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new HttpProxyOptionHandler
+ (PREF_FTP_PROXY,
+ TEXT_FTP_PROXY,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1429,10 +1426,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_FTP_PROXY_PASSWD,
- TEXT_FTP_PROXY_PASSWD,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_FTP_PROXY_PASSWD,
+ TEXT_FTP_PROXY_PASSWD,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->setEraseAfterParse(true);
op->setInitialOption(true);
@@ -1441,10 +1438,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_FTP_PROXY_USER,
- TEXT_FTP_PROXY_USER,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_FTP_PROXY_USER,
+ TEXT_FTP_PROXY_USER,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->setEraseAfterParse(true);
op->setInitialOption(true);
@@ -1453,10 +1450,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new HttpProxyOptionHandler
- (PREF_ALL_PROXY,
- TEXT_ALL_PROXY,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new HttpProxyOptionHandler
+ (PREF_ALL_PROXY,
+ TEXT_ALL_PROXY,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
@@ -1466,10 +1463,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ALL_PROXY_PASSWD,
- TEXT_ALL_PROXY_PASSWD,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ALL_PROXY_PASSWD,
+ TEXT_ALL_PROXY_PASSWD,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
@@ -1480,10 +1477,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ALL_PROXY_USER,
- TEXT_ALL_PROXY_USER,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ALL_PROXY_USER,
+ TEXT_ALL_PROXY_USER,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
@@ -1494,11 +1491,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_NO_PROXY,
- TEXT_NO_PROXY,
- NO_DEFAULT_VALUE,
- "HOSTNAME,DOMAIN,NETWORK/CIDR"));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_NO_PROXY,
+ TEXT_NO_PROXY,
+ NO_DEFAULT_VALUE,
+ "HOSTNAME,DOMAIN,NETWORK/CIDR"));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->addTag(TAG_HTTPS);
@@ -1508,11 +1505,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_PROXY_METHOD,
- TEXT_PROXY_METHOD,
- V_GET,
- V_GET, V_TUNNEL));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_PROXY_METHOD,
+ TEXT_PROXY_METHOD,
+ V_GET,
+ V_GET, V_TUNNEL));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
op->setInitialOption(true);
@@ -1523,11 +1520,11 @@ OptionHandlerFactory::createOptionHandlers()
// BitTorrent/Metalink Options
#if defined ENABLE_BITTORRENT || defined ENABLE_METALINK
{
- SharedHandle<OptionHandler> op(new IntegerRangeOptionHandler
- (PREF_SELECT_FILE,
- TEXT_SELECT_FILE,
- NO_DEFAULT_VALUE,
- 1, 65535));
+ OptionHandler* op(new IntegerRangeOptionHandler
+ (PREF_SELECT_FILE,
+ TEXT_SELECT_FILE,
+ NO_DEFAULT_VALUE,
+ 1, 65535));
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_METALINK);
op->setInitialOption(true);
@@ -1535,12 +1532,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_SHOW_FILES,
- TEXT_SHOW_FILES,
- A2_V_FALSE,
- OptionHandler::OPT_ARG,
- 'S'));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_SHOW_FILES,
+ TEXT_SHOW_FILES,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG,
+ 'S'));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_METALINK);
@@ -1550,11 +1547,11 @@ OptionHandlerFactory::createOptionHandlers()
// BitTorrent Specific Options
#ifdef ENABLE_BITTORRENT
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_ENABLE_LPD,
- TEXT_BT_ENABLE_LPD,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_ENABLE_LPD,
+ TEXT_BT_ENABLE_LPD,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1562,12 +1559,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<DefaultOptionHandler> op(new DefaultOptionHandler
- (PREF_BT_EXCLUDE_TRACKER,
- TEXT_BT_EXCLUDE_TRACKER,
- NO_DESCRIPTION,
- "URI,... "
- "or *"));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_BT_EXCLUDE_TRACKER,
+ TEXT_BT_EXCLUDE_TRACKER,
+ NO_DESCRIPTION,
+ "URI,... "
+ "or *"));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1575,11 +1572,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_BT_EXTERNAL_IP,
- TEXT_BT_EXTERNAL_IP,
- NO_DEFAULT_VALUE,
- "a numeric IP address"));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_BT_EXTERNAL_IP,
+ TEXT_BT_EXTERNAL_IP,
+ NO_DEFAULT_VALUE,
+ "a numeric IP address"));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1587,20 +1584,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_KEEP_ALIVE_INTERVAL,
- NO_DESCRIPTION,
- "120",
- 1, 120));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_KEEP_ALIVE_INTERVAL,
+ NO_DESCRIPTION,
+ "120",
+ 1, 120));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_HASH_CHECK_SEED,
- TEXT_BT_HASH_CHECK_SEED,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_HASH_CHECK_SEED,
+ TEXT_BT_HASH_CHECK_SEED,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->addTag(TAG_CHECKSUM);
op->setInitialOption(true);
@@ -1609,21 +1606,21 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_BT_LPD_INTERFACE,
- TEXT_BT_LPD_INTERFACE,
- NO_DEFAULT_VALUE,
- "interface, IP address",
- OptionHandler::REQ_ARG));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_BT_LPD_INTERFACE,
+ TEXT_BT_LPD_INTERFACE,
+ NO_DEFAULT_VALUE,
+ "interface, IP address",
+ OptionHandler::REQ_ARG));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_BT_MAX_OPEN_FILES,
- TEXT_BT_MAX_OPEN_FILES,
- "100",
- 1));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_MAX_OPEN_FILES,
+ TEXT_BT_MAX_OPEN_FILES,
+ "100",
+ 1));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1631,11 +1628,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_BT_MAX_PEERS,
- TEXT_BT_MAX_PEERS,
- "55",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_MAX_PEERS,
+ TEXT_BT_MAX_PEERS,
+ "55",
+ 0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeOption(true);
@@ -1645,11 +1642,11 @@ OptionHandlerFactory::createOptionHandlers()
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_METADATA_ONLY,
- TEXT_BT_METADATA_ONLY,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_METADATA_ONLY,
+ TEXT_BT_METADATA_ONLY,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1657,11 +1654,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_BT_MIN_CRYPTO_LEVEL,
- TEXT_BT_MIN_CRYPTO_LEVEL,
- V_PLAIN,
- V_PLAIN, V_ARC4));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_BT_MIN_CRYPTO_LEVEL,
+ TEXT_BT_MIN_CRYPTO_LEVEL,
+ V_PLAIN,
+ V_PLAIN, V_ARC4));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1669,9 +1666,9 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new PrioritizePieceOptionHandler
- (PREF_BT_PRIORITIZE_PIECE,
- TEXT_BT_PRIORITIZE_PIECE));
+ OptionHandler* op(new PrioritizePieceOptionHandler
+ (PREF_BT_PRIORITIZE_PIECE,
+ TEXT_BT_PRIORITIZE_PIECE));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1679,11 +1676,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_REMOVE_UNSELECTED_FILE,
- TEXT_BT_REMOVE_UNSELECTED_FILE,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_REMOVE_UNSELECTED_FILE,
+ TEXT_BT_REMOVE_UNSELECTED_FILE,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeOption(true);
@@ -1692,11 +1689,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_BT_REQUEST_PEER_SPEED_LIMIT,
- TEXT_BT_REQUEST_PEER_SPEED_LIMIT,
- "50K",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_BT_REQUEST_PEER_SPEED_LIMIT,
+ TEXT_BT_REQUEST_PEER_SPEED_LIMIT,
+ "50K",
+ 0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeOption(true);
@@ -1705,11 +1702,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_REQUIRE_CRYPTO,
- TEXT_BT_REQUIRE_CRYPTO,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_REQUIRE_CRYPTO,
+ TEXT_BT_REQUIRE_CRYPTO,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1717,20 +1714,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_REQUEST_TIMEOUT,
- NO_DESCRIPTION,
- "60",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_REQUEST_TIMEOUT,
+ NO_DESCRIPTION,
+ "60",
+ 1, 600));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_SEED_UNVERIFIED,
- TEXT_BT_SEED_UNVERIFIED,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_SEED_UNVERIFIED,
+ TEXT_BT_SEED_UNVERIFIED,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1738,11 +1735,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_BT_SAVE_METADATA,
- TEXT_BT_SAVE_METADATA,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_BT_SAVE_METADATA,
+ TEXT_BT_SAVE_METADATA,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1750,11 +1747,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_BT_STOP_TIMEOUT,
- TEXT_BT_STOP_TIMEOUT,
- "0",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_STOP_TIMEOUT,
+ TEXT_BT_STOP_TIMEOUT,
+ "0",
+ 0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1762,20 +1759,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_TIMEOUT,
- NO_DESCRIPTION,
- "180",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_TIMEOUT,
+ NO_DESCRIPTION,
+ "180",
+ 1, 600));
op->hide();
handlers.push_back(op);
}
{
- SharedHandle<DefaultOptionHandler> op(new DefaultOptionHandler
- (PREF_BT_TRACKER,
- TEXT_BT_TRACKER,
- NO_DESCRIPTION,
- "URI,..."));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_BT_TRACKER,
+ TEXT_BT_TRACKER,
+ NO_DESCRIPTION,
+ "URI,..."));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1783,11 +1780,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_TRACKER_CONNECT_TIMEOUT,
- TEXT_BT_TRACKER_CONNECT_TIMEOUT,
- "60",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_TRACKER_CONNECT_TIMEOUT,
+ TEXT_BT_TRACKER_CONNECT_TIMEOUT,
+ "60",
+ 1, 600));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1795,11 +1792,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_TRACKER_INTERVAL,
- TEXT_BT_TRACKER_INTERVAL,
- "0",
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_TRACKER_INTERVAL,
+ TEXT_BT_TRACKER_INTERVAL,
+ "0",
+ 0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1807,11 +1804,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_BT_TRACKER_TIMEOUT,
- TEXT_BT_TRACKER_TIMEOUT,
- "60",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_BT_TRACKER_TIMEOUT,
+ TEXT_BT_TRACKER_TIMEOUT,
+ "60",
+ 1, 600));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1819,107 +1816,107 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new HostPortOptionHandler
- (PREF_DHT_ENTRY_POINT,
- TEXT_DHT_ENTRY_POINT,
- NO_DEFAULT_VALUE,
- PREF_DHT_ENTRY_POINT_HOST,
- PREF_DHT_ENTRY_POINT_PORT));
+ OptionHandler* op(new HostPortOptionHandler
+ (PREF_DHT_ENTRY_POINT,
+ TEXT_DHT_ENTRY_POINT,
+ NO_DEFAULT_VALUE,
+ PREF_DHT_ENTRY_POINT_HOST,
+ PREF_DHT_ENTRY_POINT_PORT));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new HostPortOptionHandler
- (PREF_DHT_ENTRY_POINT6,
- TEXT_DHT_ENTRY_POINT6,
- NO_DEFAULT_VALUE,
- PREF_DHT_ENTRY_POINT_HOST6,
- PREF_DHT_ENTRY_POINT_PORT6));
+ OptionHandler* op(new HostPortOptionHandler
+ (PREF_DHT_ENTRY_POINT6,
+ TEXT_DHT_ENTRY_POINT6,
+ NO_DEFAULT_VALUE,
+ PREF_DHT_ENTRY_POINT_HOST6,
+ PREF_DHT_ENTRY_POINT_PORT6));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_DHT_FILE_PATH,
- TEXT_DHT_FILE_PATH,
- util::getHomeDir()+"/.aria2/dht.dat",
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_DHT_FILE_PATH,
+ TEXT_DHT_FILE_PATH,
+ util::getHomeDir()+"/.aria2/dht.dat",
+ PATH_TO_FILE));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_DHT_FILE_PATH6,
- TEXT_DHT_FILE_PATH6,
- util::getHomeDir()+"/.aria2/dht6.dat",
- PATH_TO_FILE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_DHT_FILE_PATH6,
+ TEXT_DHT_FILE_PATH6,
+ util::getHomeDir()+"/.aria2/dht6.dat",
+ PATH_TO_FILE));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_DHT_LISTEN_ADDR,
- NO_DESCRIPTION,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_DHT_LISTEN_ADDR,
+ NO_DESCRIPTION,
+ NO_DEFAULT_VALUE));
op->hide();
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_DHT_LISTEN_ADDR6,
- TEXT_DHT_LISTEN_ADDR6,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_DHT_LISTEN_ADDR6,
+ TEXT_DHT_LISTEN_ADDR6,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new IntegerRangeOptionHandler
- (PREF_DHT_LISTEN_PORT,
- TEXT_DHT_LISTEN_PORT,
- "6881-6999",
- 1024, UINT16_MAX));
+ OptionHandler* op(new IntegerRangeOptionHandler
+ (PREF_DHT_LISTEN_PORT,
+ TEXT_DHT_LISTEN_PORT,
+ "6881-6999",
+ 1024, UINT16_MAX));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_DHT_MESSAGE_TIMEOUT,
- TEXT_DHT_MESSAGE_TIMEOUT,
- "10",
- 1, 60));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_DHT_MESSAGE_TIMEOUT,
+ TEXT_DHT_MESSAGE_TIMEOUT,
+ "10",
+ 1, 60));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_DHT,
- TEXT_ENABLE_DHT,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_DHT,
+ TEXT_ENABLE_DHT,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_DHT6,
- TEXT_ENABLE_DHT6,
- A2_V_FALSE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_DHT6,
+ TEXT_ENABLE_DHT6,
+ A2_V_FALSE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_ENABLE_PEER_EXCHANGE,
- TEXT_ENABLE_PEER_EXCHANGE,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_ENABLE_PEER_EXCHANGE,
+ TEXT_ENABLE_PEER_EXCHANGE,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1927,11 +1924,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_FOLLOW_TORRENT,
- TEXT_FOLLOW_TORRENT,
- A2_V_TRUE,
- A2_V_TRUE, V_MEM, A2_V_FALSE));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_FOLLOW_TORRENT,
+ TEXT_FOLLOW_TORRENT,
+ A2_V_TRUE,
+ A2_V_TRUE, V_MEM, A2_V_FALSE));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -1939,10 +1936,10 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new IndexOutOptionHandler
- (PREF_INDEX_OUT,
- TEXT_INDEX_OUT,
- 'O'));
+ OptionHandler* op(new IndexOutOptionHandler
+ (PREF_INDEX_OUT,
+ TEXT_INDEX_OUT,
+ 'O'));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setCumulative(true);
@@ -1950,33 +1947,33 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new IntegerRangeOptionHandler
- (PREF_LISTEN_PORT,
- TEXT_LISTEN_PORT,
- "6881-6999",
- 1024, UINT16_MAX));
+ OptionHandler* op(new IntegerRangeOptionHandler
+ (PREF_LISTEN_PORT,
+ TEXT_LISTEN_PORT,
+ "6881-6999",
+ 1024, UINT16_MAX));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_MAX_OVERALL_UPLOAD_LIMIT,
- TEXT_MAX_OVERALL_UPLOAD_LIMIT,
- "0",
- 0));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_MAX_OVERALL_UPLOAD_LIMIT,
+ TEXT_MAX_OVERALL_UPLOAD_LIMIT,
+ "0",
+ 0));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new UnitNumberOptionHandler
- (PREF_MAX_UPLOAD_LIMIT,
- TEXT_MAX_UPLOAD_LIMIT,
- "0",
- 0, -1,
- 'u'));
+ OptionHandler* op(new UnitNumberOptionHandler
+ (PREF_MAX_UPLOAD_LIMIT,
+ TEXT_MAX_UPLOAD_LIMIT,
+ "0",
+ 0, -1,
+ 'u'));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
@@ -1986,21 +1983,21 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_ON_BT_DOWNLOAD_COMPLETE,
- TEXT_ON_BT_DOWNLOAD_COMPLETE,
- NO_DEFAULT_VALUE,
- PATH_TO_COMMAND));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_ON_BT_DOWNLOAD_COMPLETE,
+ TEXT_ON_BT_DOWNLOAD_COMPLETE,
+ NO_DEFAULT_VALUE,
+ PATH_TO_COMMAND));
op->addTag(TAG_ADVANCED);
op->addTag(TAG_HOOK);
handlers.push_back(op);
}
{
- SharedHandle<NumberOptionHandler> op(new NumberOptionHandler
- (PREF_PEER_CONNECTION_TIMEOUT,
- NO_DESCRIPTION,
- "20",
- 1, 600));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_PEER_CONNECTION_TIMEOUT,
+ NO_DESCRIPTION,
+ "20",
+ 1, 600));
op->hide();
handlers.push_back(op);
}
@@ -2009,19 +2006,19 @@ OptionHandlerFactory::createOptionHandlers()
sscanf(PACKAGE_VERSION, "%d.%d.%d", &major, &minor, &micro);
char prefix[21];
snprintf(prefix, sizeof(prefix), "A2-%d-%d-%d-", major, minor, micro);
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_PEER_ID_PREFIX,
- TEXT_PEER_ID_PREFIX,
- prefix));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_PEER_ID_PREFIX,
+ TEXT_PEER_ID_PREFIX,
+ prefix));
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new NumberOptionHandler
- (PREF_SEED_TIME,
- TEXT_SEED_TIME,
- NO_DEFAULT_VALUE,
- 0));
+ OptionHandler* op(new NumberOptionHandler
+ (PREF_SEED_TIME,
+ TEXT_SEED_TIME,
+ NO_DEFAULT_VALUE,
+ 0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2029,11 +2026,11 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new FloatNumberOptionHandler
- (PREF_SEED_RATIO,
- TEXT_SEED_RATIO,
- "1.0",
- 0.0));
+ OptionHandler* op(new FloatNumberOptionHandler
+ (PREF_SEED_RATIO,
+ TEXT_SEED_RATIO,
+ "1.0",
+ 0.0));
op->addTag(TAG_BITTORRENT);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2041,12 +2038,12 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new LocalFilePathOptionHandler
- (PREF_TORRENT_FILE,
- TEXT_TORRENT_FILE,
- NO_DEFAULT_VALUE,
- false,
- 'T'));
+ OptionHandler* op(new LocalFilePathOptionHandler
+ (PREF_TORRENT_FILE,
+ TEXT_TORRENT_FILE,
+ NO_DEFAULT_VALUE,
+ false,
+ 'T'));
op->addTag(TAG_BASIC);
op->addTag(TAG_BITTORRENT);
handlers.push_back(op);
@@ -2055,11 +2052,11 @@ OptionHandlerFactory::createOptionHandlers()
// Metalink Specific Options
#ifdef ENABLE_METALINK
{
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_FOLLOW_METALINK,
- TEXT_FOLLOW_METALINK,
- A2_V_TRUE,
- A2_V_TRUE, V_MEM, A2_V_FALSE));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_FOLLOW_METALINK,
+ TEXT_FOLLOW_METALINK,
+ A2_V_TRUE,
+ A2_V_TRUE, V_MEM, A2_V_FALSE));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2067,21 +2064,21 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_METALINK_BASE_URI,
- TEXT_METALINK_BASE_URI,
- NO_DEFAULT_VALUE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_METALINK_BASE_URI,
+ TEXT_METALINK_BASE_URI,
+ NO_DEFAULT_VALUE));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new BooleanOptionHandler
- (PREF_METALINK_ENABLE_UNIQUE_PROTOCOL,
- TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL,
- A2_V_TRUE,
- OptionHandler::OPT_ARG));
+ OptionHandler* op(new BooleanOptionHandler
+ (PREF_METALINK_ENABLE_UNIQUE_PROTOCOL,
+ TEXT_METALINK_ENABLE_UNIQUE_PROTOCOL,
+ A2_V_TRUE,
+ OptionHandler::OPT_ARG));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2089,20 +2086,20 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new LocalFilePathOptionHandler
- (PREF_METALINK_FILE,
- TEXT_METALINK_FILE,
- NO_DEFAULT_VALUE,
- true,
- 'M'));
+ OptionHandler* op(new LocalFilePathOptionHandler
+ (PREF_METALINK_FILE,
+ TEXT_METALINK_FILE,
+ NO_DEFAULT_VALUE,
+ true,
+ 'M'));
op->addTag(TAG_BASIC);
op->addTag(TAG_METALINK);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_METALINK_LANGUAGE,
- TEXT_METALINK_LANGUAGE));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_METALINK_LANGUAGE,
+ TEXT_METALINK_LANGUAGE));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2110,9 +2107,9 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_METALINK_OS,
- TEXT_METALINK_OS));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_METALINK_OS,
+ TEXT_METALINK_OS));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2121,12 +2118,12 @@ OptionHandlerFactory::createOptionHandlers()
}
{
const std::string params[] = { V_HTTP, V_HTTPS, V_FTP, V_NONE };
- SharedHandle<OptionHandler> op(new ParameterOptionHandler
- (PREF_METALINK_PREFERRED_PROTOCOL,
- TEXT_METALINK_PREFERRED_PROTOCOL,
- V_NONE,
- std::vector<std::string>
- (vbegin(params), vend(params))));
+ OptionHandler* op(new ParameterOptionHandler
+ (PREF_METALINK_PREFERRED_PROTOCOL,
+ TEXT_METALINK_PREFERRED_PROTOCOL,
+ V_NONE,
+ std::vector<std::string>
+ (vbegin(params), vend(params))));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2134,24 +2131,23 @@ OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op
- (new DeprecatedOptionHandler
- (SharedHandle<OptionHandler>(new NumberOptionHandler
- (PREF_METALINK_SERVERS,
- TEXT_METALINK_SERVERS,
- NO_DEFAULT_VALUE,
- 1, -1,
- 'C')),
- splitHandler));
+ OptionHandler* op
+ (new DeprecatedOptionHandler(new NumberOptionHandler
+ (PREF_METALINK_SERVERS,
+ TEXT_METALINK_SERVERS,
+ NO_DEFAULT_VALUE,
+ 1, -1,
+ 'C'),
+ splitHandler));
op->addTag(TAG_DEPRECATED);
op->addTag(TAG_METALINK);
op->setInitialOption(true);
handlers.push_back(op);
}
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_METALINK_VERSION,
- TEXT_METALINK_VERSION));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_METALINK_VERSION,
+ TEXT_METALINK_VERSION));
op->addTag(TAG_METALINK);
op->setInitialOption(true);
op->setChangeGlobalOption(true);
@@ -2161,13 +2157,13 @@ OptionHandlerFactory::createOptionHandlers()
#endif // ENABLE_METALINK
// Version Option
{
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_VERSION,
- TEXT_VERSION,
- NO_DEFAULT_VALUE,
- A2STR::NIL,
- OptionHandler::NO_ARG,
- 'v'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_VERSION,
+ TEXT_VERSION,
+ NO_DEFAULT_VALUE,
+ A2STR::NIL,
+ OptionHandler::NO_ARG,
+ 'v'));
op->addTag(TAG_BASIC);
handlers.push_back(op);
}
@@ -2179,13 +2175,13 @@ OptionHandlerFactory::createOptionHandlers()
tagsStr += ", ";
}
tagsStr += STR_TAG_ALL;
- SharedHandle<OptionHandler> op(new DefaultOptionHandler
- (PREF_HELP,
- TEXT_HELP,
- strHelpTag(TAG_BASIC),
- tagsStr,
- OptionHandler::OPT_ARG,
- 'h'));
+ OptionHandler* op(new DefaultOptionHandler
+ (PREF_HELP,
+ TEXT_HELP,
+ strHelpTag(TAG_BASIC),
+ tagsStr,
+ OptionHandler::OPT_ARG,
+ 'h'));
op->addTag(TAG_BASIC);
op->addTag(TAG_HELP);
handlers.push_back(op);
diff --git a/src/OptionHandlerFactory.h b/src/OptionHandlerFactory.h
index 247614d4..ea8ec907 100644
--- a/src/OptionHandlerFactory.h
+++ b/src/OptionHandlerFactory.h
@@ -39,15 +39,13 @@
#include <vector>
-#include "SharedHandle.h"
-
namespace aria2 {
class OptionHandler;
class OptionHandlerFactory {
public:
- static std::vector<SharedHandle<OptionHandler> > createOptionHandlers();
+ static std::vector<OptionHandler*> createOptionHandlers();
};
} // namespace aria2
diff --git a/src/OptionHandlerImpl.cc b/src/OptionHandlerImpl.cc
index 836c93f0..f2edcfc3 100644
--- a/src/OptionHandlerImpl.cc
+++ b/src/OptionHandlerImpl.cc
@@ -79,6 +79,7 @@ BooleanOptionHandler::BooleanOptionHandler
BooleanOptionHandler::~BooleanOptionHandler() {}
void BooleanOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
if(optarg == "true" ||
((argType_ == OptionHandler::OPT_ARG ||
@@ -115,7 +116,7 @@ IntegerRangeOptionHandler::IntegerRangeOptionHandler
IntegerRangeOptionHandler::~IntegerRangeOptionHandler() {}
void IntegerRangeOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
SegList<int> sgl;
util::parseIntSegments(sgl, optarg);
@@ -153,6 +154,7 @@ NumberOptionHandler::NumberOptionHandler
NumberOptionHandler::~NumberOptionHandler() {}
void NumberOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
int64_t number;
if(util::parseLLIntNoThrow(number, optarg)) {
@@ -162,7 +164,7 @@ void NumberOptionHandler::parseArg(Option& option, const std::string& optarg)
}
}
-void NumberOptionHandler::parseArg(Option& option, int64_t number)
+void NumberOptionHandler::parseArg(Option& option, int64_t number) const
{
if((min_ == -1 || min_ <= number) && (max_ == -1 || number <= max_)) {
option.put(pref_, util::itos(number));
@@ -214,7 +216,7 @@ UnitNumberOptionHandler::UnitNumberOptionHandler
UnitNumberOptionHandler::~UnitNumberOptionHandler() {}
void UnitNumberOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
int64_t num = util::getRealSize(optarg);
NumberOptionHandler::parseArg(option, num);
@@ -236,7 +238,7 @@ FloatNumberOptionHandler::FloatNumberOptionHandler
FloatNumberOptionHandler::~FloatNumberOptionHandler() {}
void FloatNumberOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
double number = strtod(optarg.c_str(), 0);
if((min_ < 0 || min_ <= number) && (max_ < 0 || number <= max_)) {
@@ -289,6 +291,7 @@ DefaultOptionHandler::DefaultOptionHandler
DefaultOptionHandler::~DefaultOptionHandler() {}
void DefaultOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
option.put(pref_, optarg);
}
@@ -315,7 +318,7 @@ CumulativeOptionHandler::CumulativeOptionHandler
CumulativeOptionHandler::~CumulativeOptionHandler() {}
void CumulativeOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
std::string value = option.get(pref_);
value += optarg;
@@ -339,6 +342,7 @@ IndexOutOptionHandler::IndexOutOptionHandler
IndexOutOptionHandler::~IndexOutOptionHandler() {}
void IndexOutOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
// See optarg is in the fomrat of "INDEX=PATH"
util::parseIndexPath(optarg);
@@ -365,6 +369,7 @@ ChecksumOptionHandler::ChecksumOptionHandler
ChecksumOptionHandler::~ChecksumOptionHandler() {}
void ChecksumOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
std::pair<Scip, Scip> p;
util::divide(p, optarg.begin(), optarg.end(), '=');
@@ -436,10 +441,11 @@ ParameterOptionHandler::ParameterOptionHandler
validParamValues_.push_back(validParamValue2);
validParamValues_.push_back(validParamValue3);
}
-
+
ParameterOptionHandler::~ParameterOptionHandler() {}
void ParameterOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
std::vector<std::string>::const_iterator itr =
std::find(validParamValues_.begin(), validParamValues_.end(), optarg);
@@ -488,6 +494,7 @@ HostPortOptionHandler::HostPortOptionHandler
HostPortOptionHandler::~HostPortOptionHandler() {}
void HostPortOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
std::string uri = "http://";
uri += optarg;
@@ -500,7 +507,7 @@ void HostPortOptionHandler::parseArg(Option& option, const std::string& optarg)
}
void HostPortOptionHandler::setHostAndPort
-(Option& option, const std::string& hostname, uint16_t port)
+(Option& option, const std::string& hostname, uint16_t port) const
{
option.put(hostOptionName_, hostname);
option.put(portOptionName_, util::uitos(port));
@@ -525,6 +532,7 @@ HttpProxyOptionHandler::HttpProxyOptionHandler
HttpProxyOptionHandler::~HttpProxyOptionHandler() {}
void HttpProxyOptionHandler::parseArg(Option& option, const std::string& optarg)
+ const
{
if(optarg.empty()) {
option.put(pref_, optarg);
@@ -564,7 +572,7 @@ LocalFilePathOptionHandler::LocalFilePathOptionHandler
{}
void LocalFilePathOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
if(acceptStdin_ && optarg == "-") {
option.put(pref_, DEV_STDIN);
@@ -576,7 +584,7 @@ void LocalFilePathOptionHandler::parseArg
option.put(pref_, optarg);
}
}
-
+
std::string LocalFilePathOptionHandler::createPossibleValuesString() const
{
if(acceptStdin_) {
@@ -596,7 +604,7 @@ PrioritizePieceOptionHandler::PrioritizePieceOptionHandler
{}
void PrioritizePieceOptionHandler::parseArg
-(Option& option, const std::string& optarg)
+(Option& option, const std::string& optarg) const
{
// Parse optarg against empty FileEntry list to detect syntax
// error.
@@ -612,12 +620,19 @@ std::string PrioritizePieceOptionHandler::createPossibleValuesString() const
}
DeprecatedOptionHandler::DeprecatedOptionHandler
-(const SharedHandle<OptionHandler>& depOptHandler,
- const SharedHandle<OptionHandler>& repOptHandler)
+(OptionHandler* depOptHandler,
+ const OptionHandler* repOptHandler)
: depOptHandler_(depOptHandler), repOptHandler_(repOptHandler)
{}
+DeprecatedOptionHandler::~DeprecatedOptionHandler()
+{
+ delete depOptHandler_;
+ // We don't delete repOptHandler_.
+}
+
void DeprecatedOptionHandler::parse(Option& option, const std::string& arg)
+ const
{
if(repOptHandler_) {
A2_LOG_WARN(fmt(_("--%s option is deprecated. Use --%s option instead."),
diff --git a/src/OptionHandlerImpl.h b/src/OptionHandlerImpl.h
index 7537ffbd..e8b6d2cd 100644
--- a/src/OptionHandlerImpl.h
+++ b/src/OptionHandlerImpl.h
@@ -55,7 +55,7 @@ public:
OptionHandler::ARG_TYPE argType = OptionHandler::REQ_ARG,
char shortName = 0);
virtual ~BooleanOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -70,7 +70,7 @@ public:
int32_t min, int32_t max,
char shortName = 0);
virtual ~IntegerRangeOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -87,8 +87,8 @@ public:
char shortName = 0);
virtual ~NumberOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
- void parseArg(Option& option, int64_t number);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
+ void parseArg(Option& option, int64_t number) const;
virtual std::string createPossibleValuesString() const;
};
@@ -101,7 +101,7 @@ public:
int64_t max = -1,
char shortName = 0);
virtual ~UnitNumberOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
};
class FloatNumberOptionHandler : public AbstractOptionHandler {
@@ -115,7 +115,7 @@ public:
double min = -1, double max = -1,
char shortName = 0);
virtual ~FloatNumberOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -130,7 +130,7 @@ public:
OptionHandler::ARG_TYPE argType = OptionHandler::REQ_ARG,
char shortName = 0);
virtual ~DefaultOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -148,7 +148,7 @@ public:
OptionHandler::REQ_ARG,
char shortName = 0);
virtual ~CumulativeOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -158,7 +158,7 @@ public:
const char* description,
char shortName = 0);
virtual ~IndexOutOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -169,7 +169,7 @@ public:
const char* description,
char shortName = 0);
virtual ~ChecksumOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
#endif // ENABLE_MESSAGE_DIGEST
@@ -202,7 +202,7 @@ public:
const std::string& validParamValue3,
char shortName = 0);
virtual ~ParameterOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -218,9 +218,9 @@ public:
const Pref* portOptionName,
char shortName = 0);
virtual ~HostPortOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
void setHostAndPort
- (Option& option, const std::string& hostname, uint16_t port);
+ (Option& option, const std::string& hostname, uint16_t port) const;
virtual std::string createPossibleValuesString() const;
};
@@ -234,7 +234,7 @@ public:
const std::string& defaultValue,
char shortName = 0);
virtual ~HttpProxyOptionHandler();
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -248,7 +248,7 @@ public:
const std::string& defaultValue = NO_DEFAULT_VALUE,
bool acceptStdin = false,
char shortName = 0);
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -259,7 +259,7 @@ public:
const char* description = NO_DESCRIPTION,
const std::string& defaultValue = NO_DEFAULT_VALUE,
char shortName = 0);
- virtual void parseArg(Option& option, const std::string& optarg);
+ virtual void parseArg(Option& option, const std::string& optarg) const;
virtual std::string createPossibleValuesString() const;
};
@@ -267,17 +267,17 @@ public:
// option value using replacing option.
class DeprecatedOptionHandler:public OptionHandler {
private:
- SharedHandle<OptionHandler> depOptHandler_;
- SharedHandle<OptionHandler> repOptHandler_;
+ OptionHandler* depOptHandler_;
+ const OptionHandler* repOptHandler_;
public:
// depOptHandler is deprecated option and repOptHandler is replacing
// new option. If there is no replacing option, omit second
// argument.
DeprecatedOptionHandler
- (const SharedHandle<OptionHandler>& depOptHandler,
- const SharedHandle<OptionHandler>& repOptHandler =
- SharedHandle<OptionHandler>());
- virtual void parse(Option& option, const std::string& arg);
+ (OptionHandler* depOptHandler,
+ const OptionHandler* repOptHandler = 0);
+ virtual ~DeprecatedOptionHandler();
+ virtual void parse(Option& option, const std::string& arg) const;
virtual std::string createPossibleValuesString() const;
virtual bool hasTag(uint32_t tag) const;
virtual void addTag(uint32_t tag);
diff --git a/src/OptionParser.cc b/src/OptionParser.cc
index 53e0c2c0..d2250374 100644
--- a/src/OptionParser.cc
+++ b/src/OptionParser.cc
@@ -56,11 +56,14 @@
namespace aria2 {
OptionParser::OptionParser()
- : handlers_(option::countOption()),
+ : handlers_(option::countOption(), 0),
shortOpts_(256)
{}
-OptionParser::~OptionParser() {}
+OptionParser::~OptionParser()
+{
+ std::for_each(handlers_.begin(), handlers_.end(), Deleter());
+}
namespace {
template<typename InputIterator>
@@ -154,7 +157,7 @@ void OptionParser::parseArg
if(c == -1) {
break;
}
- SharedHandle<OptionHandler> op;
+ const OptionHandler* op = 0;
if(c == 0) {
op = findById(lopt);
} else if(c != '?') {
@@ -181,7 +184,7 @@ void OptionParser::parseArg
int ambiguous = 0;
for(int i = 1, len = option::countOption(); i < len; ++i) {
const Pref* pref = option::i2p(i);
- const SharedHandle<OptionHandler>& h = find(pref);
+ const OptionHandler* h = find(pref);
if(h && !h->isHidden()) {
if(strcmp(pref->k, optstr) == 0) {
// Exact match, this means getopt_long detected error
@@ -231,7 +234,7 @@ void OptionParser::parse(Option& option, std::istream& is) const
}
const Pref* pref =
option::k2p(std::string(nv.first.first, nv.first.second));
- const SharedHandle<OptionHandler>& handler = find(pref);
+ const OptionHandler* handler = find(pref);
if(handler) {
handler->parse(option, std::string(nv.second.first, nv.second.second));
}
@@ -239,15 +242,15 @@ void OptionParser::parse(Option& option, std::istream& is) const
}
void OptionParser::setOptionHandlers
-(const std::vector<SharedHandle<OptionHandler> >& handlers)
+(const std::vector<OptionHandler*>& handlers)
{
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ for(std::vector<OptionHandler*>::const_iterator i =
handlers.begin(), eoi = handlers.end(); i != eoi; ++i) {
addOptionHandler(*i);
}
}
-void OptionParser::addOptionHandler(const SharedHandle<OptionHandler>& handler)
+void OptionParser::addOptionHandler(OptionHandler* handler)
{
size_t optId = handler->getPref()->i;
assert(optId < handlers_.size());
@@ -259,7 +262,7 @@ void OptionParser::addOptionHandler(const SharedHandle<OptionHandler>& handler)
void OptionParser::parseDefaultValues(Option& option) const
{
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ for(std::vector<OptionHandler*>::const_iterator i =
handlers_.begin(), eoi = handlers_.end(); i != eoi; ++i) {
if(*i && !(*i)->getDefaultValue().empty()) {
(*i)->parse(option, (*i)->getDefaultValue());
@@ -267,11 +270,10 @@ void OptionParser::parseDefaultValues(Option& option) const
}
}
-std::vector<SharedHandle<OptionHandler> >
-OptionParser::findByTag(uint32_t tag) const
+std::vector<const OptionHandler*> OptionParser::findByTag(uint32_t tag) const
{
- std::vector<SharedHandle<OptionHandler> > result;
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ std::vector<const OptionHandler*> result;
+ for(std::vector<OptionHandler*>::const_iterator i =
handlers_.begin(), eoi = handlers_.end(); i != eoi; ++i) {
if(*i && !(*i)->isHidden() && (*i)->hasTag(tag)) {
result.push_back(*i);
@@ -280,11 +282,11 @@ OptionParser::findByTag(uint32_t tag) const
return result;
}
-std::vector<SharedHandle<OptionHandler> >
+std::vector<const OptionHandler*>
OptionParser::findByNameSubstring(const std::string& substring) const
{
- std::vector<SharedHandle<OptionHandler> > result;
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ std::vector<const OptionHandler*> result;
+ for(std::vector<OptionHandler*>::const_iterator i =
handlers_.begin(), eoi = handlers_.end(); i != eoi; ++i) {
if(*i && !(*i)->isHidden()) {
size_t nameLen = strlen((*i)->getName());
@@ -295,13 +297,13 @@ OptionParser::findByNameSubstring(const std::string& substring) const
}
}
}
- return result;
+ return result;
}
-std::vector<SharedHandle<OptionHandler> > OptionParser::findAll() const
+std::vector<const OptionHandler*> OptionParser::findAll() const
{
- std::vector<SharedHandle<OptionHandler> > result;
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ std::vector<const OptionHandler*> result;
+ for(std::vector<OptionHandler*>::const_iterator i =
handlers_.begin(), eoi = handlers_.end(); i != eoi; ++i) {
if(*i && !(*i)->isHidden()) {
result.push_back(*i);
@@ -310,17 +312,17 @@ std::vector<SharedHandle<OptionHandler> > OptionParser::findAll() const
return result;
}
-const SharedHandle<OptionHandler>& OptionParser::find(const Pref* pref) const
+const OptionHandler* OptionParser::find(const Pref* pref) const
{
return findById(pref->i);
}
-const SharedHandle<OptionHandler>& OptionParser::findById(size_t id) const
+const OptionHandler* OptionParser::findById(size_t id) const
{
if(id >= handlers_.size()) {
return handlers_[0];
}
- const SharedHandle<OptionHandler>& h = handlers_[id];
+ const OptionHandler* h = handlers_[id];
if(!h || h->isHidden()) {
return handlers_[0];
} else {
@@ -328,8 +330,7 @@ const SharedHandle<OptionHandler>& OptionParser::findById(size_t id) const
}
}
-const SharedHandle<OptionHandler>& OptionParser::findByShortName
-(char shortName) const
+const OptionHandler* OptionParser::findByShortName(char shortName) const
{
size_t idx = static_cast<unsigned char>(shortName);
return findById(shortOpts_[idx]);
diff --git a/src/OptionParser.h b/src/OptionParser.h
index 901fe8ec..617712db 100644
--- a/src/OptionParser.h
+++ b/src/OptionParser.h
@@ -51,7 +51,7 @@ struct Pref;
class OptionParser {
private:
- std::vector<SharedHandle<OptionHandler> > handlers_;
+ std::vector<OptionHandler*> handlers_;
// Index of handler in handlers_ for option who has short option name.
std::vector<size_t> shortOpts_;
static SharedHandle<OptionParser> optionParser_;
@@ -70,29 +70,28 @@ public:
void parseDefaultValues(Option& option) const;
void setOptionHandlers
- (const std::vector<SharedHandle<OptionHandler> >& handlers);
+ (const std::vector<OptionHandler*>& handlers);
- void addOptionHandler(const SharedHandle<OptionHandler>& handler);
+ void addOptionHandler(OptionHandler* handler);
// Hidden options are not returned.
- std::vector<SharedHandle<OptionHandler> >
- findByTag(uint32_t tag) const;
+ std::vector<const OptionHandler*> findByTag(uint32_t tag) const;
// Hidden options are not returned.
- std::vector<SharedHandle<OptionHandler> >
+ std::vector<const OptionHandler*>
findByNameSubstring(const std::string& substring) const;
// Hidden options are not returned.
- std::vector<SharedHandle<OptionHandler> > findAll() const;
+ std::vector<const OptionHandler*> findAll() const;
// Hidden options are not returned.
- const SharedHandle<OptionHandler>& find(const Pref* pref) const;
+ const OptionHandler* find(const Pref* pref) const;
// Hidden options are not returned.
- const SharedHandle<OptionHandler>& findById(size_t id) const;
+ const OptionHandler* findById(size_t id) const;
// Hidden options are not returned.
- const SharedHandle<OptionHandler>& findByShortName(char shortName) const;
+ const OptionHandler* findByShortName(char shortName) const;
static const SharedHandle<OptionParser>& getInstance();
};
diff --git a/src/RpcMethod.cc b/src/RpcMethod.cc
index 46dba121..a06fd714 100644
--- a/src/RpcMethod.cc
+++ b/src/RpcMethod.cc
@@ -94,7 +94,7 @@ void gatherOption
throw DL_ABORT_EX
(fmt("We don't know how to deal with %s option", optionName.c_str()));
}
- const SharedHandle<OptionHandler>& handler = optionParser->find(pref);
+ const OptionHandler* handler = optionParser->find(pref);
if(!handler || !pred(handler)) {
// Just ignore the unacceptable options in this context.
continue;
@@ -123,7 +123,7 @@ void RpcMethod::gatherRequestOption(Option* option, const Dict* optionsDict)
{
if(optionsDict) {
gatherOption(optionsDict->begin(), optionsDict->end(),
- mem_fun_sh(&OptionHandler::getInitialOption),
+ std::mem_fun(&OptionHandler::getInitialOption),
option, optionParser_);
}
}
@@ -132,7 +132,7 @@ void RpcMethod::gatherChangeableOption(Option* option, const Dict* optionsDict)
{
if(optionsDict) {
gatherOption(optionsDict->begin(), optionsDict->end(),
- mem_fun_sh(&OptionHandler::getChangeOption),
+ std::mem_fun(&OptionHandler::getChangeOption),
option, optionParser_);
}
}
@@ -143,7 +143,7 @@ void RpcMethod::gatherChangeableOptionForReserved
{
if(optionsDict) {
gatherOption(optionsDict->begin(), optionsDict->end(),
- mem_fun_sh(&OptionHandler::getChangeOptionForReserved),
+ std::mem_fun(&OptionHandler::getChangeOptionForReserved),
option, optionParser_);
}
}
@@ -153,7 +153,7 @@ void RpcMethod::gatherChangeableGlobalOption
{
if(optionsDict) {
gatherOption(optionsDict->begin(), optionsDict->end(),
- mem_fun_sh(&OptionHandler::getChangeGlobalOption),
+ std::mem_fun(&OptionHandler::getChangeGlobalOption),
option, optionParser_);
}
}
diff --git a/src/RpcMethodImpl.cc b/src/RpcMethodImpl.cc
index 3a787e91..be0b8916 100644
--- a/src/RpcMethodImpl.cc
+++ b/src/RpcMethodImpl.cc
@@ -1251,7 +1251,7 @@ void pushRequestOption
{
for(size_t i = 1, len = option::countOption(); i < len; ++i) {
const Pref* pref = option::i2p(i);
- const SharedHandle<OptionHandler>& h = oparser->find(pref);
+ const OptionHandler* h = oparser->find(pref);
if(h && h->getInitialOption() && option->defined(pref)) {
dict->put(pref->k, option->get(pref));
}
@@ -1284,7 +1284,7 @@ SharedHandle<ValueBase> GetGlobalOptionRpcMethod::process
if(!e->getOption()->defined(pref)) {
continue;
}
- const SharedHandle<OptionHandler>& h = getOptionParser()->find(pref);
+ const OptionHandler* h = getOptionParser()->find(pref);
if(h) {
result->put(pref->k, e->getOption()->get(pref));
}
diff --git a/src/SessionSerializer.cc b/src/SessionSerializer.cc
index ed8f20a2..9ccf3149 100644
--- a/src/SessionSerializer.cc
+++ b/src/SessionSerializer.cc
@@ -83,7 +83,7 @@ bool writeOption(BufferedFile& fp, const SharedHandle<Option>& op)
const SharedHandle<OptionParser>& oparser = OptionParser::getInstance();
for(size_t i = 1, len = option::countOption(); i < len; ++i) {
const Pref* pref = option::i2p(i);
- const SharedHandle<OptionHandler>& h = oparser->find(pref);
+ const OptionHandler* h = oparser->find(pref);
if(h && h->getInitialOption() && op->defined(pref)) {
if(h->getCumulative()) {
const std::string& val = op->get(pref);
diff --git a/src/download_helper.cc b/src/download_helper.cc
index 9c6f4382..092ba544 100644
--- a/src/download_helper.cc
+++ b/src/download_helper.cc
@@ -465,7 +465,7 @@ bool createRequestGroupFromUriListParser
const SharedHandle<OptionParser>& oparser = OptionParser::getInstance();
for(size_t i = 1, len = option::countOption(); i < len; ++i) {
const Pref* pref = option::i2p(i);
- const SharedHandle<OptionHandler>& h = oparser->find(pref);
+ const OptionHandler* h = oparser->find(pref);
if(h && h->getInitialOption() && tempOption.defined(pref)) {
requestOption->put(pref, tempOption.get(pref));
}
diff --git a/src/option_processing.cc b/src/option_processing.cc
index dbe09c3b..fac8dd0c 100644
--- a/src/option_processing.cc
+++ b/src/option_processing.cc
@@ -141,7 +141,7 @@ void showCandidates
std::vector<std::pair<int, const Pref*> > cands;
for(int i = 1, len = option::countOption(); i < len; ++i) {
const Pref* pref = option::i2p(i);
- const SharedHandle<OptionHandler>& h = parser->find(pref);
+ const OptionHandler* h = parser->find(pref);
if(!h || h->isHidden()) {
continue;
}
@@ -234,7 +234,7 @@ void option_processing(Option& op, std::vector<std::string>& uris,
} catch(OptionHandlerException& e) {
global::cerr()->printf(_("Parse error in %s"), cfname.c_str());
global::cerr()->printf("\n%s", e.stackTrace().c_str());
- const SharedHandle<OptionHandler>& h = oparser->find(e.getPref());
+ const OptionHandler* h = oparser->find(e.getPref());
if(h) {
global::cerr()->printf(_("Usage:"));
global::cerr()->printf("\n%s\n", h->getDescription());
@@ -275,7 +275,7 @@ void option_processing(Option& op, std::vector<std::string>& uris,
#endif // __MINGW32__
} catch(OptionHandlerException& e) {
global::cerr()->printf("%s", e.stackTrace().c_str());
- const SharedHandle<OptionHandler>& h = oparser->find(e.getPref());
+ const OptionHandler* h = oparser->find(e.getPref());
if(h) {
global::cerr()->printf(_("Usage:"));
global::cerr()->printf("\n");
diff --git a/src/version_usage.cc b/src/version_usage.cc
index 77dd9e98..0713b527 100644
--- a/src/version_usage.cc
+++ b/src/version_usage.cc
@@ -93,7 +93,7 @@ void showUsage
out->printf("\n");
return;
} else if(keyword[0] == '#') {
- std::vector<SharedHandle<OptionHandler> > handlers =
+ std::vector<const OptionHandler*> handlers =
keyword == STR_TAG_ALL ? oparser->findAll() :
oparser->findByTag(idHelpTag(keyword.c_str()));
if(keyword == STR_TAG_ALL) {
@@ -107,13 +107,13 @@ void showUsage
out->printf("\n");
out->printf(_("Options:"));
out->printf("\n");
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ for(std::vector<const OptionHandler*>::const_iterator i =
handlers.begin(), eoi = handlers.end(); i != eoi; ++i) {
write(out, *(*i));
out->printf("\n");
}
} else {
- std::vector<SharedHandle<OptionHandler> > handlers =
+ std::vector<const OptionHandler*> handlers =
oparser->findByNameSubstring(keyword);
if(!handlers.empty()) {
out->printf(_("Printing options whose name includes '%s'."),
@@ -121,7 +121,7 @@ void showUsage
out->printf("\n");
out->printf(_("Options:"));
out->printf("\n");
- for(std::vector<SharedHandle<OptionHandler> >::const_iterator i =
+ for(std::vector<const OptionHandler*>::const_iterator i =
handlers.begin(), eoi = handlers.end(); i != eoi; ++i) {
write(out, *(*i));
out->printf("\n");
diff --git a/test/OptionHandlerTest.cc b/test/OptionHandlerTest.cc
index 1d01b6a8..e7725c76 100644
--- a/test/OptionHandlerTest.cc
+++ b/test/OptionHandlerTest.cc
@@ -310,16 +310,15 @@ void OptionHandlerTest::testHttpProxyOptionHandler()
void OptionHandlerTest::testDeprecatedOptionHandler()
{
{
- DeprecatedOptionHandler handler
- (SharedHandle<OptionHandler>(new DefaultOptionHandler(PREF_TIMEOUT)));
+ DeprecatedOptionHandler handler(new DefaultOptionHandler(PREF_TIMEOUT));
Option option;
handler.parse(option, "foo");
CPPUNIT_ASSERT(!option.defined(PREF_TIMEOUT));
}
{
- DeprecatedOptionHandler handler
- (SharedHandle<OptionHandler>(new DefaultOptionHandler(PREF_TIMEOUT)),
- SharedHandle<OptionHandler>(new DefaultOptionHandler(PREF_DIR)));
+ DefaultOptionHandler dir(PREF_DIR);
+ DeprecatedOptionHandler handler(new DefaultOptionHandler(PREF_TIMEOUT),
+ &dir);
Option option;
handler.parse(option, "foo");
CPPUNIT_ASSERT(!option.defined(PREF_TIMEOUT));
diff --git a/test/OptionParserTest.cc b/test/OptionParserTest.cc
index f8c07985..db100102 100644
--- a/test/OptionParserTest.cc
+++ b/test/OptionParserTest.cc
@@ -35,27 +35,27 @@ public:
{
oparser_.reset(new OptionParser());
- SharedHandle<OptionHandler> timeout
+ OptionHandler* timeout
(new DefaultOptionHandler(PREF_TIMEOUT, NO_DESCRIPTION, "ALPHA", "",
OptionHandler::REQ_ARG, 'A'));
timeout->addTag(TAG_BASIC);
timeout->setEraseAfterParse(true);
oparser_->addOptionHandler(timeout);
- SharedHandle<OptionHandler> dir(new DefaultOptionHandler(PREF_DIR));
+ OptionHandler* dir(new DefaultOptionHandler(PREF_DIR));
dir->addTag(TAG_BASIC);
dir->addTag(TAG_HTTP);
dir->addTag(TAG_FILE);
oparser_->addOptionHandler(dir);
- SharedHandle<DefaultOptionHandler> daemon
+ DefaultOptionHandler* daemon
(new DefaultOptionHandler(PREF_DAEMON, NO_DESCRIPTION, "CHARLIE", "",
OptionHandler::REQ_ARG, 'C'));
daemon->hide();
daemon->addTag(TAG_FILE);
oparser_->addOptionHandler(daemon);
- SharedHandle<OptionHandler> out
+ OptionHandler* out
(new UnitNumberOptionHandler(PREF_OUT, NO_DESCRIPTION, "1M",
-1, -1, 'D'));
out->addTag(TAG_FILE);
@@ -80,7 +80,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(OptionParserTest);
void OptionParserTest::testFindAll()
{
- std::vector<SharedHandle<OptionHandler> > res = oparser_->findAll();
+ std::vector<const OptionHandler*> res = oparser_->findAll();
CPPUNIT_ASSERT_EQUAL((size_t)3, res.size());
CPPUNIT_ASSERT_EQUAL(std::string("timeout"), std::string(res[0]->getName()));
CPPUNIT_ASSERT_EQUAL(std::string("dir"), std::string(res[1]->getName()));
@@ -89,8 +89,7 @@ void OptionParserTest::testFindAll()
void OptionParserTest::testFindByNameSubstring()
{
- std::vector<SharedHandle<OptionHandler> > res =
- oparser_->findByNameSubstring("i");
+ std::vector<const OptionHandler*> res = oparser_->findByNameSubstring("i");
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
CPPUNIT_ASSERT_EQUAL(std::string("timeout"), std::string(res[0]->getName()));
CPPUNIT_ASSERT_EQUAL(std::string("dir"), std::string(res[1]->getName()));
@@ -98,8 +97,7 @@ void OptionParserTest::testFindByNameSubstring()
void OptionParserTest::testFindByTag()
{
- std::vector<SharedHandle<OptionHandler> > res =
- oparser_->findByTag(TAG_FILE);
+ std::vector<const OptionHandler*> res = oparser_->findByTag(TAG_FILE);
CPPUNIT_ASSERT_EQUAL((size_t)2, res.size());
CPPUNIT_ASSERT_EQUAL(std::string("dir"), std::string(res[0]->getName()));
CPPUNIT_ASSERT_EQUAL(std::string("out"), std::string(res[1]->getName()));
@@ -107,20 +105,20 @@ void OptionParserTest::testFindByTag()
void OptionParserTest::testFind()
{
- const SharedHandle<OptionHandler>& dir = oparser_->find(PREF_DIR);
+ const OptionHandler* dir = oparser_->find(PREF_DIR);
CPPUNIT_ASSERT(dir);
CPPUNIT_ASSERT_EQUAL(std::string("dir"), std::string(dir->getName()));
- const SharedHandle<OptionHandler>& daemon = oparser_->find(PREF_DAEMON);
+ const OptionHandler* daemon = oparser_->find(PREF_DAEMON);
CPPUNIT_ASSERT(!daemon);
- const SharedHandle<OptionHandler>& log = oparser_->find(PREF_LOG);
+ const OptionHandler* log = oparser_->find(PREF_LOG);
CPPUNIT_ASSERT(!log);
}
void OptionParserTest::testFindByShortName()
{
- const SharedHandle<OptionHandler>& timeout = oparser_->findByShortName('A');
+ const OptionHandler* timeout = oparser_->findByShortName('A');
CPPUNIT_ASSERT(timeout);
CPPUNIT_ASSERT_EQUAL(std::string("timeout"), std::string(timeout->getName()));
@@ -129,8 +127,7 @@ void OptionParserTest::testFindByShortName()
void OptionParserTest::testFindById()
{
- const SharedHandle<OptionHandler>& timeout =
- oparser_->findById(PREF_TIMEOUT->i);
+ const OptionHandler* timeout = oparser_->findById(PREF_TIMEOUT->i);
CPPUNIT_ASSERT(timeout);
CPPUNIT_ASSERT_EQUAL(std::string("timeout"), std::string(timeout->getName()));