mirror of https://github.com/aria2/aria2
Deprecated --enable-direct-io option.
Modified DeprecatedOptionHandler so that it can have replacing OptionHandler.pull/1/head
parent
b96df117d6
commit
dbf4f553ca
|
@ -218,11 +218,14 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
|
||||||
#endif // ENABLE_ASYNC_DNS
|
#endif // ENABLE_ASYNC_DNS
|
||||||
#ifdef ENABLE_DIRECT_IO
|
#ifdef ENABLE_DIRECT_IO
|
||||||
{
|
{
|
||||||
SharedHandle<OptionHandler> op(new BooleanOptionHandler
|
// TODO Deprecated
|
||||||
(PREF_ENABLE_DIRECT_IO,
|
SharedHandle<OptionHandler> op
|
||||||
TEXT_ENABLE_DIRECT_IO,
|
(new DeprecatedOptionHandler
|
||||||
A2_V_TRUE,
|
(SharedHandle<OptionHandler>(new BooleanOptionHandler
|
||||||
OptionHandler::OPT_ARG));
|
(PREF_ENABLE_DIRECT_IO,
|
||||||
|
TEXT_ENABLE_DIRECT_IO,
|
||||||
|
A2_V_TRUE,
|
||||||
|
OptionHandler::OPT_ARG))));
|
||||||
op->addTag(TAG_ADVANCED);
|
op->addTag(TAG_ADVANCED);
|
||||||
op->addTag(TAG_FILE);
|
op->addTag(TAG_FILE);
|
||||||
handlers.push_back(op);
|
handlers.push_back(op);
|
||||||
|
|
|
@ -738,8 +738,8 @@ std::string PrioritizePieceOptionHandler::createPossibleValuesString() const
|
||||||
|
|
||||||
DeprecatedOptionHandler::DeprecatedOptionHandler
|
DeprecatedOptionHandler::DeprecatedOptionHandler
|
||||||
(const SharedHandle<OptionHandler>& depOptHandler,
|
(const SharedHandle<OptionHandler>& depOptHandler,
|
||||||
const std::string& repOptName)
|
const SharedHandle<OptionHandler>& repOptHandler)
|
||||||
: depOptHandler_(depOptHandler), repOptName_(repOptName)
|
: depOptHandler_(depOptHandler), repOptHandler_(repOptHandler)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
bool DeprecatedOptionHandler::canHandle(const std::string& optName)
|
bool DeprecatedOptionHandler::canHandle(const std::string& optName)
|
||||||
|
@ -749,11 +749,15 @@ bool DeprecatedOptionHandler::canHandle(const std::string& optName)
|
||||||
|
|
||||||
void DeprecatedOptionHandler::parse(Option& option, const std::string& arg)
|
void DeprecatedOptionHandler::parse(Option& option, const std::string& arg)
|
||||||
{
|
{
|
||||||
A2_LOG_WARN(fmt("--%s option is deprecated. Use --%s option instead.",
|
if(repOptHandler_) {
|
||||||
depOptHandler_->getName().c_str(),
|
A2_LOG_WARN(fmt(_("--%s option is deprecated. Use --%s option instead."),
|
||||||
repOptName_.c_str()));
|
depOptHandler_->getName().c_str(),
|
||||||
depOptHandler_->parse(option, arg);
|
repOptHandler_->getName().c_str()));
|
||||||
option.put(repOptName_, option.get(depOptHandler_->getName()));
|
repOptHandler_->parse(option, arg);
|
||||||
|
} else {
|
||||||
|
A2_LOG_WARN(fmt(_("--%s option is deprecated."),
|
||||||
|
depOptHandler_->getName().c_str()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string DeprecatedOptionHandler::createPossibleValuesString() const
|
std::string DeprecatedOptionHandler::createPossibleValuesString() const
|
||||||
|
|
|
@ -294,14 +294,20 @@ public:
|
||||||
virtual std::string createPossibleValuesString() const;
|
virtual std::string createPossibleValuesString() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// This class is used to deprecate option and optionally handle its
|
||||||
|
// option value using replacing option.
|
||||||
class DeprecatedOptionHandler:public OptionHandler {
|
class DeprecatedOptionHandler:public OptionHandler {
|
||||||
private:
|
private:
|
||||||
SharedHandle<OptionHandler> depOptHandler_;
|
SharedHandle<OptionHandler> depOptHandler_;
|
||||||
std::string repOptName_;
|
SharedHandle<OptionHandler> repOptHandler_;
|
||||||
public:
|
public:
|
||||||
|
// depOptHandler is deprecated option and repOptHandler is replacing
|
||||||
|
// new option. If there is no replacing option, omit second
|
||||||
|
// argument.
|
||||||
DeprecatedOptionHandler
|
DeprecatedOptionHandler
|
||||||
(const SharedHandle<OptionHandler>& depOptHandler,
|
(const SharedHandle<OptionHandler>& depOptHandler,
|
||||||
const std::string& repOptName);
|
const SharedHandle<OptionHandler>& repOptHandler =
|
||||||
|
SharedHandle<OptionHandler>());
|
||||||
virtual bool canHandle(const std::string& optName);
|
virtual bool canHandle(const std::string& optName);
|
||||||
virtual void parse(Option& option, const std::string& arg);
|
virtual void parse(Option& option, const std::string& arg);
|
||||||
virtual std::string createPossibleValuesString() const;
|
virtual std::string createPossibleValuesString() const;
|
||||||
|
|
|
@ -29,6 +29,7 @@ class OptionHandlerTest:public CppUnit::TestFixture {
|
||||||
CPPUNIT_TEST(testHttpProxyOptionHandler);
|
CPPUNIT_TEST(testHttpProxyOptionHandler);
|
||||||
CPPUNIT_TEST(testHttpProxyUserOptionHandler);
|
CPPUNIT_TEST(testHttpProxyUserOptionHandler);
|
||||||
CPPUNIT_TEST(testHttpProxyPasswdOptionHandler);
|
CPPUNIT_TEST(testHttpProxyPasswdOptionHandler);
|
||||||
|
CPPUNIT_TEST(testDeprecatedOptionHandler);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -50,6 +51,7 @@ public:
|
||||||
void testHttpProxyOptionHandler();
|
void testHttpProxyOptionHandler();
|
||||||
void testHttpProxyUserOptionHandler();
|
void testHttpProxyUserOptionHandler();
|
||||||
void testHttpProxyPasswdOptionHandler();
|
void testHttpProxyPasswdOptionHandler();
|
||||||
|
void testDeprecatedOptionHandler();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -420,4 +422,24 @@ void OptionHandlerTest::testHttpProxyPasswdOptionHandler()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OptionHandlerTest::testDeprecatedOptionHandler()
|
||||||
|
{
|
||||||
|
{
|
||||||
|
DeprecatedOptionHandler handler
|
||||||
|
(SharedHandle<OptionHandler>(new DefaultOptionHandler("dep")));
|
||||||
|
Option option;
|
||||||
|
handler.parse(option, "foo");
|
||||||
|
CPPUNIT_ASSERT(!option.defined("dep"));
|
||||||
|
}
|
||||||
|
{
|
||||||
|
DeprecatedOptionHandler handler
|
||||||
|
(SharedHandle<OptionHandler>(new DefaultOptionHandler("dep")),
|
||||||
|
SharedHandle<OptionHandler>(new DefaultOptionHandler("rep")));
|
||||||
|
Option option;
|
||||||
|
handler.parse(option, "foo");
|
||||||
|
CPPUNIT_ASSERT(!option.defined("dep"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(std::string("foo"), option.get("rep"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
Loading…
Reference in New Issue