Prechádzať zdrojové kódy

2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Fixed compile error without message digest support.
	* src/FileMetalinkParserState.cc
	* src/MetalinkParserController.{h, cc}
	* test/XML2SAXMetalinkProcessorTest.cc
	* test/MetalinkParserControllerTest.cc
Tatsuhiro Tsujikawa 18 rokov pred
rodič
commit
0ec3727bf5

+ 8 - 0
ChangeLog

@@ -1,3 +1,11 @@
+2007-12-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Fixed compile error without message digest support.
+	* src/FileMetalinkParserState.cc
+	* src/MetalinkParserController.{h, cc}
+	* test/XML2SAXMetalinkProcessorTest.cc
+	* test/MetalinkParserControllerTest.cc
+
 2007-12-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Enable direct I/O support in checksum checking.

+ 2 - 0
src/FileMetalinkParserState.cc

@@ -49,8 +49,10 @@ void FileMetalinkParserState::beginElement(MetalinkParserStateMachine* stm,
     stm->setLanguageState();
   } else if(name == "os") {
     stm->setOSState();
+#ifdef ENABLE_MESSAGE_DIGEST
   } else if(name == "verification") {
     stm->setVerificationState();
+#endif // ENABLE_MESSAGE_DIGEST
   } else if(name == "resources") {
     stm->setResourcesState();
     int32_t maxConnections;

+ 2 - 2
src/Makefile.am

@@ -145,7 +145,8 @@ SRCS =  Socket.h\
 	Peer.cc Peer.h\
 	BtRegistry.cc BtRegistry.h\
 	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
-	PeerConnection.cc PeerConnection.h
+	PeerConnection.cc PeerConnection.h\
+	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h
 #	debug_new.cpp
 
 if ENABLE_MESSAGE_DIGEST
@@ -174,7 +175,6 @@ SRCS += MetaEntry.h\
 	RequestSlot.cc RequestSlot.h\
 	Directory.cc Directory.h\
 	TrackerWatcherCommand.cc TrackerWatcherCommand.h\
-	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
 	PeerChokeCommand.cc PeerChokeCommand.h\
 	SeedCriteria.h\
 	TimeSeedCriteria.h\

+ 12 - 12
src/Makefile.in

@@ -63,7 +63,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 @ENABLE_BITTORRENT_TRUE@	RequestSlot.cc RequestSlot.h\
 @ENABLE_BITTORRENT_TRUE@	Directory.cc Directory.h\
 @ENABLE_BITTORRENT_TRUE@	TrackerWatcherCommand.cc TrackerWatcherCommand.h\
-@ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
 @ENABLE_BITTORRENT_TRUE@	PeerChokeCommand.cc PeerChokeCommand.h\
 @ENABLE_BITTORRENT_TRUE@	SeedCriteria.h\
 @ENABLE_BITTORRENT_TRUE@	TimeSeedCriteria.h\
@@ -291,7 +290,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 	MultiDiskAdaptor.cc MultiDiskAdaptor.h Peer.cc Peer.h \
 	BtRegistry.cc BtRegistry.h MultiFileAllocationIterator.cc \
 	MultiFileAllocationIterator.h PeerConnection.cc \
-	PeerConnection.h IteratableChunkChecksumValidator.cc \
+	PeerConnection.h ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
+	IteratableChunkChecksumValidator.cc \
 	IteratableChunkChecksumValidator.h \
 	IteratableChecksumValidator.cc IteratableChecksumValidator.h \
 	CheckIntegrityCommand.cc CheckIntegrityCommand.h \
@@ -306,7 +306,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 	PeerInteractionCommand.h PeerListenCommand.cc \
 	PeerListenCommand.h RequestSlot.cc RequestSlot.h Directory.cc \
 	Directory.h TrackerWatcherCommand.cc TrackerWatcherCommand.h \
-	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
 	PeerChokeCommand.cc PeerChokeCommand.h SeedCriteria.h \
 	TimeSeedCriteria.h ShareRatioSeedCriteria.h \
 	UnionSeedCriteria.h SeedCheckCommand.cc SeedCheckCommand.h \
@@ -391,7 +390,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 @ENABLE_BITTORRENT_TRUE@	RequestSlot.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	Directory.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	TrackerWatcherCommand.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriter.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerChokeCommand.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	SeedCheckCommand.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultPeerListProcessor.$(OBJEXT) \
@@ -526,10 +524,11 @@ am__objects_12 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
 	DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \
 	Peer.$(OBJEXT) BtRegistry.$(OBJEXT) \
 	MultiFileAllocationIterator.$(OBJEXT) PeerConnection.$(OBJEXT) \
-	$(am__objects_1) $(am__objects_2) $(am__objects_3) \
-	$(am__objects_4) $(am__objects_5) $(am__objects_6) \
-	$(am__objects_7) $(am__objects_8) $(am__objects_9) \
-	$(am__objects_10) $(am__objects_11)
+	ByteArrayDiskWriter.$(OBJEXT) $(am__objects_1) \
+	$(am__objects_2) $(am__objects_3) $(am__objects_4) \
+	$(am__objects_5) $(am__objects_6) $(am__objects_7) \
+	$(am__objects_8) $(am__objects_9) $(am__objects_10) \
+	$(am__objects_11)
 am_libaria2c_a_OBJECTS = $(am__objects_12)
 libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS)
 am__installdirs = "$(DESTDIR)$(bindir)"
@@ -817,10 +816,11 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
 	MultiDiskAdaptor.cc MultiDiskAdaptor.h Peer.cc Peer.h \
 	BtRegistry.cc BtRegistry.h MultiFileAllocationIterator.cc \
 	MultiFileAllocationIterator.h PeerConnection.cc \
-	PeerConnection.h $(am__append_1) $(am__append_2) \
-	$(am__append_3) $(am__append_4) $(am__append_5) \
-	$(am__append_6) $(am__append_7) $(am__append_8) \
-	$(am__append_9) $(am__append_10) $(am__append_11)
+	PeerConnection.h ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
+	$(am__append_1) $(am__append_2) $(am__append_3) \
+	$(am__append_4) $(am__append_5) $(am__append_6) \
+	$(am__append_7) $(am__append_8) $(am__append_9) \
+	$(am__append_10) $(am__append_11)
 noinst_LIBRARIES = libaria2c.a
 libaria2c_a_SOURCES = $(SRCS)
 aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\

+ 40 - 4
src/MetalinkParserController.cc

@@ -36,15 +36,21 @@
 #include "Metalinker.h"
 #include "MetalinkEntry.h"
 #include "MetalinkResource.h"
-#include "Checksum.h"
-#include "ChunkChecksum.h"
+#ifdef ENABLE_MESSAGE_DIGEST
+# include "Checksum.h"
+# include "ChunkChecksum.h"
+#endif // ENABLE_MESSAGE_DIGEST
 
 MetalinkParserController::MetalinkParserController():
   _metalinker(new Metalinker()),
   _tEntry(0),
-  _tResource(0),
+  _tResource(0)
+#ifdef ENABLE_MESSAGE_DIGEST
+  ,
   _tChecksum(0),
-  _tChunkChecksum(0) {}
+  _tChunkChecksum(0)
+#endif // ENABLE_MESSAGE_DIGEST
+{}
 
 MetalinkParserController::~MetalinkParserController() {}
 
@@ -57,8 +63,10 @@ void MetalinkParserController::newEntryTransaction()
 {
   _tEntry = new MetalinkEntry();
   _tResource = 0;
+#ifdef ENABLE_MESSAGE_DIGEST
   _tChecksum = 0;
   _tChunkChecksum = 0;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setFileNameOfEntry(const string& filename)
@@ -211,14 +219,17 @@ void MetalinkParserController::cancelResourceTransaction()
 
 void MetalinkParserController::newChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tEntry.isNull()) {
     return;
   }
   _tChecksum = new Checksum();
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setTypeOfChecksum(const string& type)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChecksum.isNull()) {
     return;
   }
@@ -227,18 +238,22 @@ void MetalinkParserController::setTypeOfChecksum(const string& type)
   } else {
     cancelChecksumTransaction();
   }
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setHashOfChecksum(const string& md)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChecksum.isNull()) {
     return;
   }
   _tChecksum->setMessageDigest(md);
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::commitChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChecksum.isNull()) {
     return;
   }
@@ -246,24 +261,30 @@ void MetalinkParserController::commitChecksumTransaction()
     _tEntry->checksum = _tChecksum;
   }
   _tChecksum = 0;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::cancelChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   _tChecksum = 0;
+#endif // ENABLE_MESSAGE_DIGEST
 }
   
 void MetalinkParserController::newChunkChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tEntry.isNull()) {
     return;
   }
   _tChunkChecksum = new ChunkChecksum();
   _tempChunkChecksums.clear();
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setTypeOfChunkChecksum(const string& type)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
@@ -272,10 +293,12 @@ void MetalinkParserController::setTypeOfChunkChecksum(const string& type)
   } else {
     cancelChunkChecksumTransaction();
   }
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setLengthOfChunkChecksum(int32_t length)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
@@ -284,38 +307,47 @@ void MetalinkParserController::setLengthOfChunkChecksum(int32_t length)
   } else {
     cancelChunkChecksumTransaction();
   }
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::addHashOfChunkChecksum(int32_t order, const string& md)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
   _tempChunkChecksums.push_back(pair<int32_t, string>(order, md));
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::createNewHashOfChunkChecksum(int32_t order)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
   _tempHashPair.first = order;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::setMessageDigestOfChunkChecksum(const string& md)
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
   _tempHashPair.second = md;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::addHashOfChunkChecksum()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
   _tempChunkChecksums.push_back(_tempHashPair);
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 bool firstAsc(const pair<int32_t, string>& p1, const pair<int32_t, string>& p2)
@@ -338,6 +370,7 @@ public:
 
 void MetalinkParserController::commitChunkChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   if(_tChunkChecksum.isNull()) {
     return;
   }
@@ -350,11 +383,14 @@ void MetalinkParserController::commitChunkChecksumTransaction()
     _tEntry->chunkChecksum = _tChunkChecksum;
   }
   _tChunkChecksum = 0;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void MetalinkParserController::cancelChunkChecksumTransaction()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   _tChunkChecksum = 0;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 

+ 5 - 0
src/MetalinkParserController.h

@@ -43,10 +43,13 @@ class MetalinkEntry;
 typedef SharedHandle<MetalinkEntry> MetalinkEntryHandle;
 class MetalinkResource;
 typedef SharedHandle<MetalinkResource> MetalinkResourceHandle;
+
+#ifdef ENABLE_MESSAGE_DIGEST
 class Checksum;
 typedef SharedHandle<Checksum> ChecksumHandle;
 class ChunkChecksum;
 typedef SharedHandle<ChunkChecksum> ChunkChecksumHandle;
+#endif // ENABLE_MESSAGE_DIGEST
 
 class MetalinkParserController {
 private:
@@ -56,6 +59,7 @@ private:
 
   MetalinkResourceHandle _tResource;
 
+#ifdef ENABLE_MESSAGE_DIGEST
   ChecksumHandle _tChecksum;
 
   ChunkChecksumHandle _tChunkChecksum;
@@ -63,6 +67,7 @@ private:
   deque<pair<int32_t, string> > _tempChunkChecksums;
   
   pair<int32_t, string> _tempHashPair;
+#endif // ENABLE_MESSAGE_DIGEST
 
 public:
   MetalinkParserController();

+ 8 - 0
test/MetalinkParserControllerTest.cc

@@ -2,8 +2,10 @@
 #include "Metalinker.h"
 #include "MetalinkEntry.h"
 #include "MetalinkResource.h"
+#ifdef ENABLE_MESSAGE_DIGEST
 #include "Checksum.h"
 #include "ChunkChecksum.h"
+#endif // ENABLE_MESSAGE_DIGEST
 #include <cppunit/extensions/HelperMacros.h>
 
 class MetalinkParserControllerTest:public CppUnit::TestFixture {
@@ -11,8 +13,10 @@ class MetalinkParserControllerTest:public CppUnit::TestFixture {
   CPPUNIT_TEST_SUITE(MetalinkParserControllerTest);
   CPPUNIT_TEST(testEntryTransaction);
   CPPUNIT_TEST(testResourceTransaction);
+#ifdef ENABLE_MESSAGE_DIGEST
   CPPUNIT_TEST(testChecksumTransaction);
   CPPUNIT_TEST(testChunkChecksumTransaction);
+#endif // ENABLE_MESSAGE_DIGEST
 
   CPPUNIT_TEST_SUITE_END();
 private:
@@ -24,8 +28,10 @@ public:
 
   void testEntryTransaction();
   void testResourceTransaction();
+#ifdef ENABLE_MESSAGE_DIGEST
   void testChecksumTransaction();
   void testChunkChecksumTransaction();
+#endif // ENABLE_MESSAGE_DIGEST
 };
 
 
@@ -86,6 +92,7 @@ void MetalinkParserControllerTest::testResourceTransaction()
   CPPUNIT_ASSERT_EQUAL((size_t)1, ctrl.getResult()->entries.front()->resources.size());
 }
 
+#ifdef ENABLE_MESSAGE_DIGEST
 void MetalinkParserControllerTest::testChecksumTransaction()
 {
   MetalinkParserController ctrl;
@@ -138,3 +145,4 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
   ctrl.commitEntryTransaction();
   CPPUNIT_ASSERT(ctrl.getResult()->entries[1]->chunkChecksum.isNull());
 }
+#endif // ENABLE_MESSAGE_DIGEST

+ 6 - 0
test/XML2SAXMetalinkProcessorTest.cc

@@ -17,11 +17,13 @@ class XML2SAXMetalinkProcessorTest:public CppUnit::TestFixture {
   CPPUNIT_TEST(testNoName);
   CPPUNIT_TEST(testBadURLPrefs);
   CPPUNIT_TEST(testBadURLMaxConn);
+#ifdef ENABLE_MESSAGE_DIGEST
   CPPUNIT_TEST(testUnsupportedType);
   CPPUNIT_TEST(testMultiplePieces);
   CPPUNIT_TEST(testBadPieceNo);
   CPPUNIT_TEST(testBadPieceLength);
   CPPUNIT_TEST(testUnsupportedType_piece);
+#endif // ENABLE_MESSAGE_DIGEST
   CPPUNIT_TEST_SUITE_END();
 private:
 
@@ -42,11 +44,13 @@ public:
   void testNoName();
   void testBadURLPrefs();
   void testBadURLMaxConn();
+#ifdef ENABLE_MESSAGE_DIGEST
   void testUnsupportedType();
   void testMultiplePieces();
   void testBadPieceNo();
   void testBadPieceLength();
   void testUnsupportedType_piece();
+#endif // ENABLE_MESSAGE_DIGEST
 };
 
 
@@ -347,6 +351,7 @@ void XML2SAXMetalinkProcessorTest::testBadURLMaxConn()
   }
 }
 
+#ifdef ENABLE_MESSAGE_DIGEST
 void XML2SAXMetalinkProcessorTest::testUnsupportedType()
 {
   XML2SAXMetalinkProcessor proc;
@@ -509,3 +514,4 @@ void XML2SAXMetalinkProcessorTest::testUnsupportedType_piece()
     delete e;
   }
 }
+#endif // ENABLE_MESSAGE_DIGEST