/* */ #ifndef _D_METALINK_PARSER_STATE_IMPL_H_ #define _D_METALINK_PARSER_STATE_IMPL_H_ #include "MetalinkParserState.h" namespace aria2 { class InitialMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return false; } }; class MetalinkMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return false; } }; class FilesMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return true; } }; class FileMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class SizeMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class VersionMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class LanguageMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class OSMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class VerificationMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return true; } }; class HashMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class PiecesMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class PieceHashMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class SignatureMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class ResourcesMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return true; } }; class URLMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters); virtual bool needsCharactersBuffering() const { return true; } }; class SkipTagMetalinkParserState:public MetalinkParserState { public: virtual void beginElement(MetalinkParserStateMachine* stm, const std::string& name, const std::map& attrs); virtual void endElement(MetalinkParserStateMachine* stm, const std::string& name, const std::string& characters) {} virtual bool needsCharactersBuffering() const { return false; } }; } // namespace aria2 #endif // _D_METALINK_PARSER_STATE_IMPL_H_