#ifndef INCLUDE_WEBM_WEBM_PARSER_H_
#define INCLUDE_WEBM_WEBM_PARSER_H_
#include <memory>
#include "./callback.h"
#include "./reader.h"
#include "./status.h"
namespace webm {
class WebmParser {
public:
WebmParser();
~WebmParser();
WebmParser(const WebmParser&) = delete;
WebmParser& operator=(const WebmParser&) = delete;
void DidSeek();
Status Feed(Callback* callback, Reader* reader);
void Swap(WebmParser* other);
private:
class DocumentParser;
std::unique_ptr<DocumentParser> parser_;
Status parsing_status_ = Status(Status::kOkPartial);
};
void swap(WebmParser& left, WebmParser& right);
}
#endif