#ifndef CONTENT_BROWSER_DOWNLOAD_MHTML_EXTRA_PARTS_IMPL_H_
#define CONTENT_BROWSER_DOWNLOAD_MHTML_EXTRA_PARTS_IMPL_H_
#include "content/public/browser/mhtml_extra_parts.h"
namespace content {
struct MHTMLExtraDataPart {
std::string content_type;
std::string content_location;
std::string extra_headers;
std::string body;
MHTMLExtraDataPart();
MHTMLExtraDataPart(const MHTMLExtraDataPart& other);
MHTMLExtraDataPart(MHTMLExtraDataPart&& other);
MHTMLExtraDataPart& operator=(const MHTMLExtraDataPart& other);
MHTMLExtraDataPart& operator=(MHTMLExtraDataPart&& other);
~MHTMLExtraDataPart();
};
class MHTMLExtraPartsImpl : public content::MHTMLExtraParts {
public:
MHTMLExtraPartsImpl();
~MHTMLExtraPartsImpl() override;
const std::vector<MHTMLExtraDataPart>& parts() const { return parts_; }
int64_t size() override;
void AddExtraMHTMLPart(const std::string& content_type,
const std::string& content_location,
const std::string& extra_headers,
const std::string& body) override;
private:
std::vector<MHTMLExtraDataPart> parts_;
};
}
#endif