mirror of https://github.com/aria2/aria2
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed MetalinkProcessorFactory. Since we don't use both libxml2 and expat simultaneously, MetalinkProcessor is now not base class and it is directly implemented in XML2SAXMetalinkProcessor and ExpatMetalinkProcessor. * src/ExpatMetalinkProcessor.cc * src/ExpatMetalinkProcessor.h * src/Makefile.am * src/MetalinkHelper.cc * src/MetalinkProcessor.h * src/MetalinkProcessorFactory.cc: Removed. * src/MetalinkProcessorFactory.h: Removed * src/XML2SAXMetalinkProcessor.cc * src/XML2SAXMetalinkProcessor.h * test/MetalinkProcessorTest.ccpull/1/head
parent
f80abe91d2
commit
16f5ebcfcd
17
ChangeLog
17
ChangeLog
|
@ -1,3 +1,20 @@
|
||||||
|
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Removed MetalinkProcessorFactory. Since we don't use both libxml2
|
||||||
|
and expat simultaneously, MetalinkProcessor is now not base class
|
||||||
|
and it is directly implemented in XML2SAXMetalinkProcessor and
|
||||||
|
ExpatMetalinkProcessor.
|
||||||
|
* src/ExpatMetalinkProcessor.cc
|
||||||
|
* src/ExpatMetalinkProcessor.h
|
||||||
|
* src/Makefile.am
|
||||||
|
* src/MetalinkHelper.cc
|
||||||
|
* src/MetalinkProcessor.h
|
||||||
|
* src/MetalinkProcessorFactory.cc: Removed.
|
||||||
|
* src/MetalinkProcessorFactory.h: Removed
|
||||||
|
* src/XML2SAXMetalinkProcessor.cc
|
||||||
|
* src/XML2SAXMetalinkProcessor.h
|
||||||
|
* test/MetalinkProcessorTest.cc
|
||||||
|
|
||||||
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Bump up version number to 1.3.2
|
Bump up version number to 1.3.2
|
||||||
|
|
|
@ -93,10 +93,8 @@ static void mlCharacters(void* userData, const char* ch, int len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ExpatMetalinkProcessor::ExpatMetalinkProcessor() {}
|
|
||||||
|
|
||||||
SharedHandle<Metalinker>
|
SharedHandle<Metalinker>
|
||||||
ExpatMetalinkProcessor::parseFile(const std::string& filename)
|
MetalinkProcessor::parseFile(const std::string& filename)
|
||||||
{
|
{
|
||||||
SharedHandle<DefaultDiskWriter> dw(new DefaultDiskWriter());
|
SharedHandle<DefaultDiskWriter> dw(new DefaultDiskWriter());
|
||||||
dw->openExistingFile(filename);
|
dw->openExistingFile(filename);
|
||||||
|
@ -105,7 +103,7 @@ ExpatMetalinkProcessor::parseFile(const std::string& filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
SharedHandle<Metalinker>
|
SharedHandle<Metalinker>
|
||||||
ExpatMetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream)
|
MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream)
|
||||||
{
|
{
|
||||||
_stm.reset(new MetalinkParserStateMachine());
|
_stm.reset(new MetalinkParserStateMachine());
|
||||||
ssize_t bufSize = 4096;
|
ssize_t bufSize = 4096;
|
||||||
|
|
|
@ -35,26 +35,28 @@
|
||||||
#ifndef _D_EXPAT_METALINK_PROCESSOR_H_
|
#ifndef _D_EXPAT_METALINK_PROCESSOR_H_
|
||||||
#define _D_EXPAT_METALINK_PROCESSOR_H_
|
#define _D_EXPAT_METALINK_PROCESSOR_H_
|
||||||
|
|
||||||
#include "MetalinkProcessor.h"
|
#include "common.h"
|
||||||
#include <expat.h>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <expat.h>
|
||||||
|
|
||||||
|
#include "SharedHandle.h"
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
|
class Metalinker;
|
||||||
|
class BinaryStream;
|
||||||
class MetalinkParserStateMachine;
|
class MetalinkParserStateMachine;
|
||||||
|
|
||||||
class ExpatMetalinkProcessor:public MetalinkProcessor {
|
class MetalinkProcessor {
|
||||||
private:
|
private:
|
||||||
SharedHandle<MetalinkParserStateMachine> _stm;
|
SharedHandle<MetalinkParserStateMachine> _stm;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ExpatMetalinkProcessor();
|
SharedHandle<Metalinker> parseFile(const std::string& filename);
|
||||||
|
|
||||||
virtual ~ExpatMetalinkProcessor() {}
|
SharedHandle<Metalinker> parseFromBinaryStream
|
||||||
|
(const SharedHandle<BinaryStream>& binaryStream);
|
||||||
virtual SharedHandle<Metalinker> parseFile(const std::string& filename);
|
|
||||||
|
|
||||||
virtual SharedHandle<Metalinker> parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
|
@ -419,7 +419,6 @@ SRCS += Metalinker.cc Metalinker.h\
|
||||||
MetalinkEntry.cc MetalinkEntry.h\
|
MetalinkEntry.cc MetalinkEntry.h\
|
||||||
MetalinkResource.cc MetalinkResource.h\
|
MetalinkResource.cc MetalinkResource.h\
|
||||||
MetalinkProcessor.h\
|
MetalinkProcessor.h\
|
||||||
MetalinkProcessorFactory.cc MetalinkProcessorFactory.h\
|
|
||||||
MetalinkParserController.cc MetalinkParserController.h\
|
MetalinkParserController.cc MetalinkParserController.h\
|
||||||
MetalinkParserStateMachine.cc MetalinkParserStateMachine.h\
|
MetalinkParserStateMachine.cc MetalinkParserStateMachine.h\
|
||||||
MetalinkParserState.h\
|
MetalinkParserState.h\
|
||||||
|
|
|
@ -217,7 +217,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\
|
@ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkResource.cc MetalinkResource.h\
|
@ENABLE_METALINK_TRUE@ MetalinkResource.cc MetalinkResource.h\
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkProcessor.h\
|
@ENABLE_METALINK_TRUE@ MetalinkProcessor.h\
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkProcessorFactory.cc MetalinkProcessorFactory.h\
|
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkParserController.cc MetalinkParserController.h\
|
@ENABLE_METALINK_TRUE@ MetalinkParserController.cc MetalinkParserController.h\
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.cc MetalinkParserStateMachine.h\
|
@ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.cc MetalinkParserStateMachine.h\
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkParserState.h\
|
@ENABLE_METALINK_TRUE@ MetalinkParserState.h\
|
||||||
|
@ -535,7 +534,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
|
||||||
IndexBtMessageValidator.h ExtensionMessageRegistry.h \
|
IndexBtMessageValidator.h ExtensionMessageRegistry.h \
|
||||||
Metalinker.cc Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
|
Metalinker.cc Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
|
||||||
MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
|
MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
|
||||||
MetalinkProcessorFactory.cc MetalinkProcessorFactory.h \
|
|
||||||
MetalinkParserController.cc MetalinkParserController.h \
|
MetalinkParserController.cc MetalinkParserController.h \
|
||||||
MetalinkParserStateMachine.cc MetalinkParserStateMachine.h \
|
MetalinkParserStateMachine.cc MetalinkParserStateMachine.h \
|
||||||
MetalinkParserState.h InitialMetalinkParserState.cc \
|
MetalinkParserState.h InitialMetalinkParserState.cc \
|
||||||
|
@ -691,7 +689,6 @@ am__objects_3 =
|
||||||
@ENABLE_METALINK_TRUE@am__objects_11 = Metalinker.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@am__objects_11 = Metalinker.$(OBJEXT) \
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkResource.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@ MetalinkResource.$(OBJEXT) \
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkProcessorFactory.$(OBJEXT) \
|
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkParserController.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@ MetalinkParserController.$(OBJEXT) \
|
||||||
@ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.$(OBJEXT) \
|
||||||
@ENABLE_METALINK_TRUE@ InitialMetalinkParserState.$(OBJEXT) \
|
@ENABLE_METALINK_TRUE@ InitialMetalinkParserState.$(OBJEXT) \
|
||||||
|
@ -1438,7 +1435,6 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkParserController.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkParserController.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkParserStateMachine.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkParserStateMachine.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkPostDownloadHandler.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkPostDownloadHandler.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkProcessorFactory.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkResource.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MetalinkResource.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Metalinker.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Metalinker.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiDiskAdaptor.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiDiskAdaptor.Po@am__quote@
|
||||||
|
|
|
@ -35,11 +35,9 @@
|
||||||
#include "MetalinkHelper.h"
|
#include "MetalinkHelper.h"
|
||||||
#include "Option.h"
|
#include "Option.h"
|
||||||
#include "MetalinkEntry.h"
|
#include "MetalinkEntry.h"
|
||||||
#include "MetalinkProcessorFactory.h"
|
|
||||||
#include "MetalinkParserStateMachine.h"
|
#include "MetalinkParserStateMachine.h"
|
||||||
#include "Metalinker.h"
|
#include "Metalinker.h"
|
||||||
#include "MetalinkProcessor.h"
|
#include "MetalinkProcessor.h"
|
||||||
#include "MetalinkProcessorFactory.h"
|
|
||||||
#include "prefs.h"
|
#include "prefs.h"
|
||||||
#include "DlAbortEx.h"
|
#include "DlAbortEx.h"
|
||||||
#include "BinaryStream.h"
|
#include "BinaryStream.h"
|
||||||
|
@ -54,9 +52,8 @@ void MetalinkHelper::parseAndQuery
|
||||||
(std::deque<SharedHandle<MetalinkEntry> >& result,
|
(std::deque<SharedHandle<MetalinkEntry> >& result,
|
||||||
const std::string& filename, const Option* option)
|
const std::string& filename, const Option* option)
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
|
SharedHandle<Metalinker> metalinker = proc.parseFile(filename);
|
||||||
SharedHandle<Metalinker> metalinker = proc->parseFile(filename);
|
|
||||||
query(result, metalinker, option);
|
query(result, metalinker, option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,9 +61,8 @@ void MetalinkHelper::parseAndQuery
|
||||||
(std::deque<SharedHandle<MetalinkEntry> >& result,
|
(std::deque<SharedHandle<MetalinkEntry> >& result,
|
||||||
const SharedHandle<BinaryStream>& binaryStream, const Option* option)
|
const SharedHandle<BinaryStream>& binaryStream, const Option* option)
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
|
SharedHandle<Metalinker> metalinker =proc.parseFromBinaryStream(binaryStream);
|
||||||
SharedHandle<Metalinker> metalinker = proc->parseFromBinaryStream(binaryStream);
|
|
||||||
query(result, metalinker, option);
|
query(result, metalinker, option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,23 +36,11 @@
|
||||||
#define _D_METALINK_PROCESSOR_H_
|
#define _D_METALINK_PROCESSOR_H_
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "SharedHandle.h"
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
namespace aria2 {
|
#ifdef HAVE_LIBXML2
|
||||||
|
# include "XML2SAXMetalinkProcessor.h"
|
||||||
class Metalinker;
|
#elif HAVE_LIBEXPAT
|
||||||
class BinaryStream;
|
# include "ExpatMetalinkProcessor.h"
|
||||||
|
#endif
|
||||||
class MetalinkProcessor {
|
|
||||||
public:
|
|
||||||
virtual ~MetalinkProcessor() {}
|
|
||||||
|
|
||||||
virtual SharedHandle<Metalinker> parseFile(const std::string& filename) = 0;
|
|
||||||
|
|
||||||
virtual SharedHandle<Metalinker> parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream) = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace aria2
|
|
||||||
|
|
||||||
#endif // _D_METALINK_PROCESSOR_H_
|
#endif // _D_METALINK_PROCESSOR_H_
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* <!-- copyright */
|
|
||||||
/*
|
|
||||||
* aria2 - The high speed download utility
|
|
||||||
*
|
|
||||||
* Copyright (C) 2006 Tatsuhiro Tsujikawa
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*
|
|
||||||
* In addition, as a special exception, the copyright holders give
|
|
||||||
* permission to link the code of portions of this program with the
|
|
||||||
* OpenSSL library under certain conditions as described in each
|
|
||||||
* individual source file, and distribute linked combinations
|
|
||||||
* including the two.
|
|
||||||
* You must obey the GNU General Public License in all respects
|
|
||||||
* for all of the code used other than OpenSSL. If you modify
|
|
||||||
* file(s) with this exception, you may extend this exception to your
|
|
||||||
* version of the file(s), but you are not obligated to do so. If you
|
|
||||||
* do not wish to do so, delete this exception statement from your
|
|
||||||
* version. If you delete this exception statement from all source
|
|
||||||
* files in the program, then also delete it here.
|
|
||||||
*/
|
|
||||||
/* copyright --> */
|
|
||||||
#include "MetalinkProcessorFactory.h"
|
|
||||||
#ifdef HAVE_LIBXML2
|
|
||||||
# include "XML2SAXMetalinkProcessor.h"
|
|
||||||
#elif HAVE_LIBEXPAT
|
|
||||||
# include "ExpatMetalinkProcessor.h"
|
|
||||||
#endif
|
|
||||||
#include "MetalinkParserStateMachine.h"
|
|
||||||
|
|
||||||
namespace aria2 {
|
|
||||||
|
|
||||||
SharedHandle<MetalinkProcessor> MetalinkProcessorFactory::newInstance()
|
|
||||||
{
|
|
||||||
#ifdef HAVE_LIBXML2
|
|
||||||
return SharedHandle<MetalinkProcessor>(new XML2SAXMetalinkProcessor());
|
|
||||||
#elif HAVE_LIBEXPAT
|
|
||||||
return SharedHandle<MetalinkProcessor>(new ExpatMetalinkProcessor());
|
|
||||||
#else
|
|
||||||
return SharedHandle<MetalinkProcessor>();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace aria2
|
|
|
@ -1,54 +0,0 @@
|
||||||
/* <!-- copyright */
|
|
||||||
/*
|
|
||||||
* aria2 - The high speed download utility
|
|
||||||
*
|
|
||||||
* Copyright (C) 2006 Tatsuhiro Tsujikawa
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*
|
|
||||||
* In addition, as a special exception, the copyright holders give
|
|
||||||
* permission to link the code of portions of this program with the
|
|
||||||
* OpenSSL library under certain conditions as described in each
|
|
||||||
* individual source file, and distribute linked combinations
|
|
||||||
* including the two.
|
|
||||||
* You must obey the GNU General Public License in all respects
|
|
||||||
* for all of the code used other than OpenSSL. If you modify
|
|
||||||
* file(s) with this exception, you may extend this exception to your
|
|
||||||
* version of the file(s), but you are not obligated to do so. If you
|
|
||||||
* do not wish to do so, delete this exception statement from your
|
|
||||||
* version. If you delete this exception statement from all source
|
|
||||||
* files in the program, then also delete it here.
|
|
||||||
*/
|
|
||||||
/* copyright --> */
|
|
||||||
#ifndef _D_METALINK_PROCESSOR_FACTORY_H_
|
|
||||||
#define _D_METALINK_PROCESSOR_FACTORY_H_
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SharedHandle.h"
|
|
||||||
|
|
||||||
namespace aria2 {
|
|
||||||
|
|
||||||
class MetalinkProcessor;
|
|
||||||
|
|
||||||
class MetalinkProcessorFactory {
|
|
||||||
private:
|
|
||||||
MetalinkProcessorFactory() {}
|
|
||||||
public:
|
|
||||||
static SharedHandle<MetalinkProcessor> newInstance();
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace aria2
|
|
||||||
|
|
||||||
#endif // _D_METALINK_PROCESSOR_FACTORY_H__
|
|
|
@ -128,10 +128,8 @@ static xmlSAXHandler mySAXHandler =
|
||||||
0, // xmlStructuredErrorFunc
|
0, // xmlStructuredErrorFunc
|
||||||
};
|
};
|
||||||
|
|
||||||
XML2SAXMetalinkProcessor::XML2SAXMetalinkProcessor() {}
|
|
||||||
|
|
||||||
SharedHandle<Metalinker>
|
SharedHandle<Metalinker>
|
||||||
XML2SAXMetalinkProcessor::parseFile(const std::string& filename)
|
MetalinkProcessor::parseFile(const std::string& filename)
|
||||||
{
|
{
|
||||||
_stm.reset(new MetalinkParserStateMachine());
|
_stm.reset(new MetalinkParserStateMachine());
|
||||||
SharedHandle<SessionData> sessionData(new SessionData(_stm));
|
SharedHandle<SessionData> sessionData(new SessionData(_stm));
|
||||||
|
@ -144,7 +142,7 @@ XML2SAXMetalinkProcessor::parseFile(const std::string& filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
SharedHandle<Metalinker>
|
SharedHandle<Metalinker>
|
||||||
XML2SAXMetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream)
|
MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream)
|
||||||
{
|
{
|
||||||
_stm.reset(new MetalinkParserStateMachine());
|
_stm.reset(new MetalinkParserStateMachine());
|
||||||
size_t bufSize = 4096;
|
size_t bufSize = 4096;
|
||||||
|
|
|
@ -35,27 +35,29 @@
|
||||||
#ifndef _D_XML2_SAX_METALINK_PROCESSOR_H_
|
#ifndef _D_XML2_SAX_METALINK_PROCESSOR_H_
|
||||||
#define _D_XML2_SAX_METALINK_PROCESSOR_H_
|
#define _D_XML2_SAX_METALINK_PROCESSOR_H_
|
||||||
|
|
||||||
#include "MetalinkProcessor.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
#include <libxml/parser.h>
|
#include <libxml/parser.h>
|
||||||
#include <libxml/xpath.h>
|
#include <libxml/xpath.h>
|
||||||
#include <string>
|
|
||||||
|
#include "SharedHandle.h"
|
||||||
|
|
||||||
namespace aria2 {
|
namespace aria2 {
|
||||||
|
|
||||||
|
class Metalinker;
|
||||||
|
class BinaryStream;
|
||||||
class MetalinkParserStateMachine;
|
class MetalinkParserStateMachine;
|
||||||
|
|
||||||
class XML2SAXMetalinkProcessor:public MetalinkProcessor {
|
class MetalinkProcessor {
|
||||||
private:
|
private:
|
||||||
SharedHandle<MetalinkParserStateMachine> _stm;
|
SharedHandle<MetalinkParserStateMachine> _stm;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
XML2SAXMetalinkProcessor();
|
SharedHandle<Metalinker> parseFile(const std::string& filename);
|
||||||
|
|
||||||
virtual ~XML2SAXMetalinkProcessor() {}
|
SharedHandle<Metalinker> parseFromBinaryStream
|
||||||
|
(const SharedHandle<BinaryStream>& binaryStream);
|
||||||
virtual SharedHandle<Metalinker> parseFile(const std::string& filename);
|
|
||||||
|
|
||||||
virtual SharedHandle<Metalinker> parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#include "MetalinkProcessorFactory.h"
|
#include "MetalinkProcessor.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "DefaultDiskWriter.h"
|
#include "DefaultDiskWriter.h"
|
||||||
#include "ByteArrayDiskWriter.h"
|
#include "ByteArrayDiskWriter.h"
|
||||||
#include "MetalinkProcessor.h"
|
|
||||||
#include "Metalinker.h"
|
#include "Metalinker.h"
|
||||||
#include "MetalinkEntry.h"
|
#include "MetalinkEntry.h"
|
||||||
#include "MetalinkResource.h"
|
#include "MetalinkResource.h"
|
||||||
|
@ -68,9 +67,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION( MetalinkProcessorTest );
|
||||||
|
|
||||||
void MetalinkProcessorTest::testParseFile()
|
void MetalinkProcessorTest::testParseFile()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc(MetalinkProcessorFactory::newInstance());
|
MetalinkProcessor proc;
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> metalinker = proc->parseFile("test.xml");
|
SharedHandle<Metalinker> metalinker = proc.parseFile("test.xml");
|
||||||
|
|
||||||
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = metalinker->entries.begin();
|
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = metalinker->entries.begin();
|
||||||
|
|
||||||
|
@ -175,12 +174,12 @@ void MetalinkProcessorTest::testParseFile()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testParseFromBinaryStream()
|
void MetalinkProcessorTest::testParseFromBinaryStream()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
DefaultDiskWriterHandle dw(new DefaultDiskWriter());
|
DefaultDiskWriterHandle dw(new DefaultDiskWriter());
|
||||||
dw->openExistingFile("test.xml");
|
dw->openExistingFile("test.xml");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
|
|
||||||
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
||||||
SharedHandle<MetalinkEntry> entry1 = *entryItr;
|
SharedHandle<MetalinkEntry> entry1 = *entryItr;
|
||||||
|
@ -192,12 +191,12 @@ void MetalinkProcessorTest::testParseFromBinaryStream()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testMalformedXML()
|
void MetalinkProcessorTest::testMalformedXML()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink><files></file></metalink>");
|
dw->setString("<metalink><files></file></metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
CPPUNIT_FAIL("exception must be thrown.");
|
CPPUNIT_FAIL("exception must be thrown.");
|
||||||
} catch(Exception& e) {
|
} catch(Exception& e) {
|
||||||
std::cerr << e.stackTrace() << std::endl;
|
std::cerr << e.stackTrace() << std::endl;
|
||||||
|
@ -206,12 +205,12 @@ void MetalinkProcessorTest::testMalformedXML()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testMalformedXML2()
|
void MetalinkProcessorTest::testMalformedXML2()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink><files></files>");
|
dw->setString("<metalink><files></files>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
CPPUNIT_FAIL("exception must be thrown.");
|
CPPUNIT_FAIL("exception must be thrown.");
|
||||||
} catch(Exception& e) {
|
} catch(Exception& e) {
|
||||||
std::cerr << e.stackTrace() << std::endl;
|
std::cerr << e.stackTrace() << std::endl;
|
||||||
|
@ -220,7 +219,7 @@ void MetalinkProcessorTest::testMalformedXML2()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadSize()
|
void MetalinkProcessorTest::testBadSize()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -234,7 +233,7 @@ void MetalinkProcessorTest::testBadSize()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
|
|
||||||
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
||||||
SharedHandle<MetalinkEntry> e = *entryItr;
|
SharedHandle<MetalinkEntry> e = *entryItr;
|
||||||
|
@ -251,7 +250,7 @@ void MetalinkProcessorTest::testBadSize()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadMaxConn()
|
void MetalinkProcessorTest::testBadMaxConn()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -266,7 +265,7 @@ void MetalinkProcessorTest::testBadMaxConn()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
|
|
||||||
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
||||||
SharedHandle<MetalinkEntry> e = *entryItr;
|
SharedHandle<MetalinkEntry> e = *entryItr;
|
||||||
|
@ -278,7 +277,7 @@ void MetalinkProcessorTest::testBadMaxConn()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testNoName()
|
void MetalinkProcessorTest::testNoName()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -298,7 +297,7 @@ void MetalinkProcessorTest::testNoName()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)1, m->entries.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)1, m->entries.size());
|
||||||
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
std::deque<SharedHandle<MetalinkEntry> >::iterator entryItr = m->entries.begin();
|
||||||
SharedHandle<MetalinkEntry> e = *entryItr;
|
SharedHandle<MetalinkEntry> e = *entryItr;
|
||||||
|
@ -310,7 +309,7 @@ void MetalinkProcessorTest::testNoName()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadURLPrefs()
|
void MetalinkProcessorTest::testBadURLPrefs()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -327,7 +326,7 @@ void MetalinkProcessorTest::testBadURLPrefs()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<MetalinkResource> r = e->resources[0];
|
SharedHandle<MetalinkResource> r = e->resources[0];
|
||||||
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_FTP, r->type);
|
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_FTP, r->type);
|
||||||
|
@ -341,7 +340,7 @@ void MetalinkProcessorTest::testBadURLPrefs()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadURLMaxConn()
|
void MetalinkProcessorTest::testBadURLMaxConn()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -358,7 +357,7 @@ void MetalinkProcessorTest::testBadURLMaxConn()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<MetalinkResource> r = e->resources[0];
|
SharedHandle<MetalinkResource> r = e->resources[0];
|
||||||
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_FTP, r->type);
|
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_FTP, r->type);
|
||||||
|
@ -373,7 +372,7 @@ void MetalinkProcessorTest::testBadURLMaxConn()
|
||||||
#ifdef ENABLE_MESSAGE_DIGEST
|
#ifdef ENABLE_MESSAGE_DIGEST
|
||||||
void MetalinkProcessorTest::testUnsupportedType()
|
void MetalinkProcessorTest::testUnsupportedType()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -392,7 +391,7 @@ void MetalinkProcessorTest::testUnsupportedType()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)3, e->resources.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)3, e->resources.size());
|
||||||
SharedHandle<MetalinkResource> r1 = e->resources[0];
|
SharedHandle<MetalinkResource> r1 = e->resources[0];
|
||||||
|
@ -408,7 +407,7 @@ void MetalinkProcessorTest::testUnsupportedType()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testMultiplePieces()
|
void MetalinkProcessorTest::testMultiplePieces()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -425,7 +424,7 @@ void MetalinkProcessorTest::testMultiplePieces()
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// aria2 prefers sha1
|
// aria2 prefers sha1
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
||||||
|
|
||||||
|
@ -438,7 +437,7 @@ void MetalinkProcessorTest::testMultiplePieces()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadPieceNo()
|
void MetalinkProcessorTest::testBadPieceNo()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -457,7 +456,7 @@ void MetalinkProcessorTest::testBadPieceNo()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
||||||
|
|
||||||
|
@ -471,7 +470,7 @@ void MetalinkProcessorTest::testBadPieceNo()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testBadPieceLength()
|
void MetalinkProcessorTest::testBadPieceLength()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -489,7 +488,7 @@ void MetalinkProcessorTest::testBadPieceLength()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
CPPUNIT_ASSERT_EQUAL((size_t)1, m->entries.size());
|
CPPUNIT_ASSERT_EQUAL((size_t)1, m->entries.size());
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
||||||
|
@ -503,7 +502,7 @@ void MetalinkProcessorTest::testBadPieceLength()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testUnsupportedType_piece()
|
void MetalinkProcessorTest::testUnsupportedType_piece()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -521,7 +520,7 @@ void MetalinkProcessorTest::testUnsupportedType_piece()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
SharedHandle<ChunkChecksum> c = e->chunkChecksum;
|
||||||
|
|
||||||
|
@ -536,7 +535,7 @@ void MetalinkProcessorTest::testUnsupportedType_piece()
|
||||||
|
|
||||||
void MetalinkProcessorTest::testLargeFileSize()
|
void MetalinkProcessorTest::testLargeFileSize()
|
||||||
{
|
{
|
||||||
SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance();
|
MetalinkProcessor proc;
|
||||||
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
SharedHandle<ByteArrayDiskWriter> dw(new ByteArrayDiskWriter());
|
||||||
dw->setString("<metalink>"
|
dw->setString("<metalink>"
|
||||||
"<files>"
|
"<files>"
|
||||||
|
@ -550,7 +549,7 @@ void MetalinkProcessorTest::testLargeFileSize()
|
||||||
"</metalink>");
|
"</metalink>");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SharedHandle<Metalinker> m = proc->parseFromBinaryStream(dw);
|
SharedHandle<Metalinker> m = proc.parseFromBinaryStream(dw);
|
||||||
SharedHandle<MetalinkEntry> e = m->entries[0];
|
SharedHandle<MetalinkEntry> e = m->entries[0];
|
||||||
CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, e->getLength());
|
CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, e->getLength());
|
||||||
} catch(Exception& e) {
|
} catch(Exception& e) {
|
||||||
|
|
Loading…
Reference in New Issue