mirror of https://github.com/aria2/aria2
parent
70685bd233
commit
5352d76d4f
|
@ -63,6 +63,11 @@ MetalinkParserController::MetalinkParserController():
|
|||
|
||||
MetalinkParserController::~MetalinkParserController() {}
|
||||
|
||||
void MetalinkParserController::reset()
|
||||
{
|
||||
metalinker_.reset(new Metalinker());
|
||||
}
|
||||
|
||||
void MetalinkParserController::newEntryTransaction()
|
||||
{
|
||||
tEntry_.reset(new MetalinkEntry());
|
||||
|
|
|
@ -87,6 +87,8 @@ public:
|
|||
|
||||
~MetalinkParserController();
|
||||
|
||||
void reset();
|
||||
|
||||
const SharedHandle<Metalinker>& getResult() const
|
||||
{
|
||||
return metalinker_;
|
||||
|
|
|
@ -112,6 +112,16 @@ MetalinkParserStateMachine::MetalinkParserStateMachine():
|
|||
|
||||
MetalinkParserStateMachine::~MetalinkParserStateMachine() {}
|
||||
|
||||
void MetalinkParserStateMachine::reset()
|
||||
{
|
||||
ctrl_->reset();
|
||||
errors_.clear();
|
||||
while(!stateStack_.empty()) {
|
||||
stateStack_.pop();
|
||||
}
|
||||
stateStack_.push(initialState_);
|
||||
}
|
||||
|
||||
void MetalinkParserStateMachine::setMetalinkState()
|
||||
{
|
||||
stateStack_.push(metalinkState_);
|
||||
|
|
|
@ -111,6 +111,8 @@ public:
|
|||
const char* nsUri,
|
||||
const std::string& characters);
|
||||
|
||||
virtual void reset();
|
||||
|
||||
void setSkipTagState();
|
||||
|
||||
void setMetalinkState();
|
||||
|
|
|
@ -63,6 +63,10 @@ public:
|
|||
const char* prefix,
|
||||
const char* nsUri,
|
||||
const std::string& characters) = 0;
|
||||
|
||||
// Resets internal state of the object and make it ready for new
|
||||
// parser session.
|
||||
virtual void reset() = 0;
|
||||
};
|
||||
|
||||
} // namespace aria2
|
||||
|
|
|
@ -197,7 +197,7 @@ ssize_t XmlParser::parseFinal(const char* data, size_t size)
|
|||
|
||||
int XmlParser::reset()
|
||||
{
|
||||
// TODO psm must be reset
|
||||
psm_->reset();
|
||||
sessionData_.reset();
|
||||
int rv = xmlCtxtResetPush(ctx_, 0, 0, 0, 0);
|
||||
if(rv != 0) {
|
||||
|
|
|
@ -101,6 +101,15 @@ XmlRpcRequestParserStateMachine::~XmlRpcRequestParserStateMachine()
|
|||
delete controller_;
|
||||
}
|
||||
|
||||
void XmlRpcRequestParserStateMachine::reset()
|
||||
{
|
||||
controller_->reset();
|
||||
while(!stateStack_.empty()) {
|
||||
stateStack_.pop();
|
||||
}
|
||||
stateStack_.push(initialState);
|
||||
}
|
||||
|
||||
bool XmlRpcRequestParserStateMachine::needsCharactersBuffering() const
|
||||
{
|
||||
return stateStack_.top()->needsCharactersBuffering();
|
||||
|
|
|
@ -71,6 +71,8 @@ public:
|
|||
const char* nsUri,
|
||||
const std::string& characters);
|
||||
|
||||
virtual void reset();
|
||||
|
||||
void setMethodName(const std::string& methodName);
|
||||
const std::string& getMethodName() const;
|
||||
void popArrayFrame();
|
||||
|
|
Loading…
Reference in New Issue