summaryrefslogtreecommitdiff
path: root/src/MetalinkParserState.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-02-25 14:40:18 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-02-25 14:40:18 +0000
commit3880a5f71b1ffde3779b3cad3519e150341bfda7 (patch)
tree2d6de19d1a5c042610796a7d4b63783c77c2faf3 /src/MetalinkParserState.h
parentfa6fd758afc1dea263a43c3e21ed7b1b8ad0773c (diff)
2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Metalink4 support. Currently, name attribute of metalink::metaurl is ignored and multi-file torrent cannot be used with Metalink4. * doc/aria2c.1.txt * src/DownloadHandlerConstants.cc * src/ExpatMetalinkProcessor.cc * src/Makefile.am * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserState.h * src/MetalinkParserStateImpl.cc * src/MetalinkParserStateImpl.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV3Impl.h * src/MetalinkParserStateV4Impl.cc * src/MetalinkParserStateV4Impl.h * src/MetalinkResource.cc * src/MetalinkResource.h * src/Metalinker.cc * src/RequestGroup.cc * src/RequestGroup.h * src/XML2SAXMetalinkProcessor.cc * src/messageDigest.cc * src/util.cc * src/util.h * test/Makefile.am * test/MetalinkEntryTest.cc * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/MetalinkerTest.cc * test/UtilTest.cc * test/metalink4-attrs.xml * test/metalink4-dirtraversal.xml * test/metalink4.xml
Diffstat (limited to 'src/MetalinkParserState.h')
-rw-r--r--src/MetalinkParserState.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/MetalinkParserState.h b/src/MetalinkParserState.h
index ecb0b285..5c62593d 100644
--- a/src/MetalinkParserState.h
+++ b/src/MetalinkParserState.h
@@ -36,13 +36,21 @@
#define _D_METALINK_PARSER_STATE_H_
#include "common.h"
-#include <map>
+
+#include <vector>
#include <string>
namespace aria2 {
class MetalinkParserStateMachine;
+struct XmlAttr {
+ std::string localname;
+ std::string prefix;
+ std::string nsUri;
+ std::string value;
+};
+
class MetalinkParserState
{
public:
@@ -50,14 +58,22 @@ public:
virtual void beginElement
(MetalinkParserStateMachine* stm,
- const std::string& name,
- const std::map<std::string, std::string>& attrs) = 0;
+ const std::string& localname,
+ const std::string& prefix,
+ const std::string& nsUri,
+ const std::vector<XmlAttr>& attrs) {}
virtual void endElement
(MetalinkParserStateMachine* stm,
- const std::string& name, const std::string& characters) = 0;
+ const std::string& localname,
+ const std::string& prefix,
+ const std::string& nsUri,
+ const std::string& characters) {}
- virtual bool needsCharactersBuffering() const = 0;
+ virtual bool needsCharactersBuffering() const
+ {
+ return false;
+ }
};
} // namespace aria2