summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-04-28 09:22:43 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-04-28 09:22:43 +0000
commit16f5ebcfcd8fd54702993525ee756c1c8b7f6f09 (patch)
treefe18692747877d5f8f7ad550331f7cae4e567565 /src
parentf80abe91d2c6cbba9781f6928f46c099684855e2 (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.cc6
-rw-r--r--src/ExpatMetalinkProcessor.h22
-rw-r--r--src/Makefile.am1
-rw-r--r--src/Makefile.in4
-rw-r--r--src/MetalinkHelper.cc12
-rw-r--r--src/MetalinkProcessor.h22
-rw-r--r--src/MetalinkProcessorFactory.cc56
-rw-r--r--src/MetalinkProcessorFactory.h54
-rw-r--r--src/XML2SAXMetalinkProcessor.cc6
-rw-r--r--src/XML2SAXMetalinkProcessor.h22
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