Parcourir la source

Rewritten AnnounceList::getEventString()

Tatsuhiro Tsujikawa il y a 13 ans
Parent
commit
260a0b8bcb
4 fichiers modifiés avec 19 ajouts et 26 suppressions
  1. 6 12
      src/AnnounceList.cc
  2. 1 7
      src/AnnounceList.h
  3. 2 2
      src/DefaultBtAnnounce.cc
  4. 10 5
      test/AnnounceListTest.cc

+ 6 - 12
src/AnnounceList.cc

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

+ 1 - 7
src/AnnounceList.h

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

+ 2 - 2
src/DefaultBtAnnounce.cc

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

+ 10 - 5
test/AnnounceListTest.cc

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