diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-04-28 09:22:43 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-04-28 09:22:43 +0000 |
| commit | 16f5ebcfcd8fd54702993525ee756c1c8b7f6f09 (patch) | |
| tree | fe18692747877d5f8f7ad550331f7cae4e567565 /src | |
| parent | f80abe91d2c6cbba9781f6928f46c099684855e2 (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/ExpatMetalinkProcessor.cc | 6 | ||||
| -rw-r--r-- | src/ExpatMetalinkProcessor.h | 22 | ||||
| -rw-r--r-- | src/Makefile.am | 1 | ||||
| -rw-r--r-- | src/Makefile.in | 4 | ||||
| -rw-r--r-- | src/MetalinkHelper.cc | 12 | ||||
| -rw-r--r-- | src/MetalinkProcessor.h | 22 | ||||
| -rw-r--r-- | src/MetalinkProcessorFactory.cc | 56 | ||||
| -rw-r--r-- | src/MetalinkProcessorFactory.h | 54 | ||||
| -rw-r--r-- | src/XML2SAXMetalinkProcessor.cc | 6 | ||||
| -rw-r--r-- | src/XML2SAXMetalinkProcessor.h | 22 |
10 files changed, 37 insertions, 168 deletions
diff --git a/src/ExpatMetalinkProcessor.cc b/src/ExpatMetalinkProcessor.cc index f7d8a20e..5a90929c 100644 --- a/src/ExpatMetalinkProcessor.cc +++ b/src/ExpatMetalinkProcessor.cc @@ -93,10 +93,8 @@ static void mlCharacters(void* userData, const char* ch, int len) } } -ExpatMetalinkProcessor::ExpatMetalinkProcessor() {} - SharedHandle<Metalinker> -ExpatMetalinkProcessor::parseFile(const std::string& filename) +MetalinkProcessor::parseFile(const std::string& filename) { SharedHandle<DefaultDiskWriter> dw(new DefaultDiskWriter()); dw->openExistingFile(filename); @@ -105,7 +103,7 @@ ExpatMetalinkProcessor::parseFile(const std::string& filename) } SharedHandle<Metalinker> -ExpatMetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream) +MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream) { _stm.reset(new MetalinkParserStateMachine()); ssize_t bufSize = 4096; diff --git a/src/ExpatMetalinkProcessor.h b/src/ExpatMetalinkProcessor.h index 49930985..ea973d62 100644 --- a/src/ExpatMetalinkProcessor.h +++ b/src/ExpatMetalinkProcessor.h @@ -35,26 +35,28 @@ #ifndef _D_EXPAT_METALINK_PROCESSOR_H_ #define _D_EXPAT_METALINK_PROCESSOR_H_ -#include "MetalinkProcessor.h" -#include <expat.h> +#include "common.h" + #include <string> +#include <expat.h> + +#include "SharedHandle.h" + namespace aria2 { +class Metalinker; +class BinaryStream; class MetalinkParserStateMachine; -class ExpatMetalinkProcessor:public MetalinkProcessor { +class MetalinkProcessor { private: SharedHandle<MetalinkParserStateMachine> _stm; - public: - ExpatMetalinkProcessor(); - - virtual ~ExpatMetalinkProcessor() {} - - virtual SharedHandle<Metalinker> parseFile(const std::string& filename); + SharedHandle<Metalinker> parseFile(const std::string& filename); - virtual SharedHandle<Metalinker> parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream); + SharedHandle<Metalinker> parseFromBinaryStream + (const SharedHandle<BinaryStream>& binaryStream); }; } // namespace aria2 diff --git a/src/Makefile.am b/src/Makefile.am index 694af206..f9e1d774 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -419,7 +419,6 @@ SRCS += Metalinker.cc Metalinker.h\ MetalinkEntry.cc MetalinkEntry.h\ MetalinkResource.cc MetalinkResource.h\ MetalinkProcessor.h\ - MetalinkProcessorFactory.cc MetalinkProcessorFactory.h\ MetalinkParserController.cc MetalinkParserController.h\ MetalinkParserStateMachine.cc MetalinkParserStateMachine.h\ MetalinkParserState.h\ diff --git a/src/Makefile.in b/src/Makefile.in index b085f827..04ade8b4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -217,7 +217,6 @@ bin_PROGRAMS = aria2c$(EXEEXT) @ENABLE_METALINK_TRUE@ MetalinkEntry.cc MetalinkEntry.h\ @ENABLE_METALINK_TRUE@ MetalinkResource.cc MetalinkResource.h\ @ENABLE_METALINK_TRUE@ MetalinkProcessor.h\ -@ENABLE_METALINK_TRUE@ MetalinkProcessorFactory.cc MetalinkProcessorFactory.h\ @ENABLE_METALINK_TRUE@ MetalinkParserController.cc MetalinkParserController.h\ @ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.cc MetalinkParserStateMachine.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 \ Metalinker.cc Metalinker.h MetalinkEntry.cc MetalinkEntry.h \ MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \ - MetalinkProcessorFactory.cc MetalinkProcessorFactory.h \ MetalinkParserController.cc MetalinkParserController.h \ MetalinkParserStateMachine.cc MetalinkParserStateMachine.h \ MetalinkParserState.h InitialMetalinkParserState.cc \ @@ -691,7 +689,6 @@ am__objects_3 = @ENABLE_METALINK_TRUE@am__objects_11 = Metalinker.$(OBJEXT) \ @ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \ @ENABLE_METALINK_TRUE@ MetalinkResource.$(OBJEXT) \ -@ENABLE_METALINK_TRUE@ MetalinkProcessorFactory.$(OBJEXT) \ @ENABLE_METALINK_TRUE@ MetalinkParserController.$(OBJEXT) \ @ENABLE_METALINK_TRUE@ MetalinkParserStateMachine.$(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)/MetalinkParserStateMachine.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)/Metalinker.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiDiskAdaptor.Po@am__quote@ diff --git a/src/MetalinkHelper.cc b/src/MetalinkHelper.cc index 9123480b..958c9caa 100644 --- a/src/MetalinkHelper.cc +++ b/src/MetalinkHelper.cc @@ -35,11 +35,9 @@ #include "MetalinkHelper.h" #include "Option.h" #include "MetalinkEntry.h" -#include "MetalinkProcessorFactory.h" #include "MetalinkParserStateMachine.h" #include "Metalinker.h" #include "MetalinkProcessor.h" -#include "MetalinkProcessorFactory.h" #include "prefs.h" #include "DlAbortEx.h" #include "BinaryStream.h" @@ -54,9 +52,8 @@ void MetalinkHelper::parseAndQuery (std::deque<SharedHandle<MetalinkEntry> >& result, const std::string& filename, const Option* option) { - SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance(); - - SharedHandle<Metalinker> metalinker = proc->parseFile(filename); + MetalinkProcessor proc; + SharedHandle<Metalinker> metalinker = proc.parseFile(filename); query(result, metalinker, option); } @@ -64,9 +61,8 @@ void MetalinkHelper::parseAndQuery (std::deque<SharedHandle<MetalinkEntry> >& result, const SharedHandle<BinaryStream>& binaryStream, const Option* option) { - SharedHandle<MetalinkProcessor> proc = MetalinkProcessorFactory::newInstance(); - - SharedHandle<Metalinker> metalinker = proc->parseFromBinaryStream(binaryStream); + MetalinkProcessor proc; + SharedHandle<Metalinker> metalinker =proc.parseFromBinaryStream(binaryStream); query(result, metalinker, option); } diff --git a/src/MetalinkProcessor.h b/src/MetalinkProcessor.h index a6060650..8d4a7617 100644 --- a/src/MetalinkProcessor.h +++ b/src/MetalinkProcessor.h @@ -36,23 +36,11 @@ #define _D_METALINK_PROCESSOR_H_ #include "common.h" -#include "SharedHandle.h" -#include <string> -namespace aria2 { - -class Metalinker; -class BinaryStream; - -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 +#ifdef HAVE_LIBXML2 +# include "XML2SAXMetalinkProcessor.h" +#elif HAVE_LIBEXPAT +# include "ExpatMetalinkProcessor.h" +#endif #endif // _D_METALINK_PROCESSOR_H_ diff --git a/src/MetalinkProcessorFactory.cc b/src/MetalinkProcessorFactory.cc deleted file mode 100644 index 00118cdf..00000000 --- a/src/MetalinkProcessorFactory.cc +++ /dev/null @@ -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 diff --git a/src/MetalinkProcessorFactory.h b/src/MetalinkProcessorFactory.h deleted file mode 100644 index e5bb6e49..00000000 --- a/src/MetalinkProcessorFactory.h +++ /dev/null @@ -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__ diff --git a/src/XML2SAXMetalinkProcessor.cc b/src/XML2SAXMetalinkProcessor.cc index c3e5d2fd..36f056e4 100644 --- a/src/XML2SAXMetalinkProcessor.cc +++ b/src/XML2SAXMetalinkProcessor.cc @@ -128,10 +128,8 @@ static xmlSAXHandler mySAXHandler = 0, // xmlStructuredErrorFunc }; -XML2SAXMetalinkProcessor::XML2SAXMetalinkProcessor() {} - SharedHandle<Metalinker> -XML2SAXMetalinkProcessor::parseFile(const std::string& filename) +MetalinkProcessor::parseFile(const std::string& filename) { _stm.reset(new MetalinkParserStateMachine()); SharedHandle<SessionData> sessionData(new SessionData(_stm)); @@ -144,7 +142,7 @@ XML2SAXMetalinkProcessor::parseFile(const std::string& filename) } SharedHandle<Metalinker> -XML2SAXMetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream) +MetalinkProcessor::parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream) { _stm.reset(new MetalinkParserStateMachine()); size_t bufSize = 4096; diff --git a/src/XML2SAXMetalinkProcessor.h b/src/XML2SAXMetalinkProcessor.h index 930afbe9..efc7016c 100644 --- a/src/XML2SAXMetalinkProcessor.h +++ b/src/XML2SAXMetalinkProcessor.h @@ -35,27 +35,29 @@ #ifndef _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/xpath.h> -#include <string> + +#include "SharedHandle.h" namespace aria2 { +class Metalinker; +class BinaryStream; class MetalinkParserStateMachine; -class XML2SAXMetalinkProcessor:public MetalinkProcessor { +class MetalinkProcessor { private: SharedHandle<MetalinkParserStateMachine> _stm; - public: - XML2SAXMetalinkProcessor(); - - virtual ~XML2SAXMetalinkProcessor() {} - - virtual SharedHandle<Metalinker> parseFile(const std::string& filename); + SharedHandle<Metalinker> parseFile(const std::string& filename); - virtual SharedHandle<Metalinker> parseFromBinaryStream(const SharedHandle<BinaryStream>& binaryStream); + SharedHandle<Metalinker> parseFromBinaryStream + (const SharedHandle<BinaryStream>& binaryStream); }; } // namespace aria2 |
