Rewritten AnnounceList::getEventString()

pull/28/head
Tatsuhiro Tsujikawa 2012-09-25 00:07:14 +09:00
parent b640b830a2
commit 260a0b8bcb
4 changed files with 19 additions and 26 deletions

View File

@ -42,12 +42,6 @@
namespace aria2 {
const std::string AnnounceList::STARTED("started");
const std::string AnnounceList::STOPPED("stopped");
const std::string AnnounceList::COMPLETED("completed");
AnnounceList::AnnounceList():currentTrackerInitialized_(false) {}
AnnounceList::AnnounceList
@ -146,21 +140,21 @@ void AnnounceList::setEvent(AnnounceTier::AnnounceEvent event) {
}
}
std::string AnnounceList::getEventString() const {
const char* AnnounceList::getEventString() const {
if(currentTrackerInitialized_) {
switch((*currentTier_)->event) {
case AnnounceTier::STARTED:
case AnnounceTier::STARTED_AFTER_COMPLETION:
return STARTED;
return "started";
case AnnounceTier::STOPPED:
return STOPPED;
return "stopped";
case AnnounceTier::COMPLETED:
return COMPLETED;
return "completed";
default:
return A2STR::NIL;
return "";
}
} else {
return A2STR::NIL;
return "";
}
}

View File

@ -81,7 +81,7 @@ public:
/**
* Returns announce event, such as started, stopped, completed, etc.
*/
std::string getEventString() const;
const char* getEventString() const;
AnnounceTier::AnnounceEvent getEvent() const;
@ -130,12 +130,6 @@ public:
bool currentTierAcceptsStoppedEvent() const;
bool currentTierAcceptsCompletedEvent() const;
static const std::string STARTED;
static const std::string STOPPED;
static const std::string COMPLETED;
};
} // namespace aria2

View File

@ -172,8 +172,8 @@ std::string DefaultBtAnnounce::getAnnounceUrl() {
if(tcpPort_) {
uri += fmt("&port=%u", tcpPort_);
}
std::string event = announceList_.getEventString();
if(!event.empty()) {
const char* event = announceList_.getEventString();
if(event[0]) {
uri += "&event=";
uri += event;
}

View File

@ -185,13 +185,15 @@ void AnnounceListTest::testNextEventIfAfterStarted() {
announceList.setEvent(AnnounceTier::STOPPED);
announceList.announceFailure();
announceList.resetTier();
CPPUNIT_ASSERT_EQUAL(std::string(""), announceList.getEventString());
CPPUNIT_ASSERT_EQUAL(std::string(""),
std::string(announceList.getEventString()));
CPPUNIT_ASSERT_EQUAL(AnnounceTier::HALTED, announceList.getEvent());
announceList.setEvent(AnnounceTier::COMPLETED);
announceList.announceFailure();
announceList.resetTier();
CPPUNIT_ASSERT_EQUAL(std::string(""), announceList.getEventString());
CPPUNIT_ASSERT_EQUAL(std::string(""),
std::string(announceList.getEventString()));
CPPUNIT_ASSERT_EQUAL(AnnounceTier::SEEDING, announceList.getEvent());
}
@ -205,16 +207,19 @@ void AnnounceListTest::testEvent() {
announceList.setEvent(AnnounceTier::STOPPED);
announceList.announceSuccess();
CPPUNIT_ASSERT_EQUAL(std::string(""), announceList.getEventString());
CPPUNIT_ASSERT_EQUAL(std::string(""),
std::string(announceList.getEventString()));
CPPUNIT_ASSERT_EQUAL(AnnounceTier::HALTED, announceList.getEvent());
announceList.setEvent(AnnounceTier::COMPLETED);
announceList.announceSuccess();
CPPUNIT_ASSERT_EQUAL(std::string(""), announceList.getEventString());
CPPUNIT_ASSERT_EQUAL(std::string(""),
std::string(announceList.getEventString()));
CPPUNIT_ASSERT_EQUAL(AnnounceTier::SEEDING, announceList.getEvent());
announceList.setEvent(AnnounceTier::STARTED_AFTER_COMPLETION);
CPPUNIT_ASSERT_EQUAL(std::string("started"), announceList.getEventString());
CPPUNIT_ASSERT_EQUAL(std::string("started"),
std::string(announceList.getEventString()));
announceList.announceSuccess();
CPPUNIT_ASSERT_EQUAL(AnnounceTier::SEEDING, announceList.getEvent());
}