/* */ #include "XmlRpcRequestParserController.h" #include namespace aria2 { namespace xmlrpc { void XmlRpcRequestParserController::pushFrame() { _frameStack.push(_currentFrame); _currentFrame = StateFrame(); } void XmlRpcRequestParserController::popStructFrame() { assert(!_frameStack.empty()); StateFrame parentFrame = _frameStack.top(); assert(parentFrame._value.isDict()); _frameStack.pop(); if(_currentFrame.validMember()) { parentFrame._value[_currentFrame._name] = _currentFrame._value; } _currentFrame = parentFrame; } void XmlRpcRequestParserController::popArrayFrame() { assert(!_frameStack.empty()); StateFrame parentFrame = _frameStack.top(); assert(parentFrame._value.isList()); _frameStack.pop(); if(!_currentFrame._value.isNone()) { parentFrame._value << _currentFrame._value; } _currentFrame = parentFrame; } } // namespace xmlrpc } // namespace aria2