#pragma once

#include "XmlElement.h"

#include <memory>
#include <vector>

class XmlProlog : public XmlElement
{
public:
    enum class Version{
        V1_0
    };

    enum class Encoding{
        UTF8
    };

public:
    XmlProlog(const std::string& tagName);

    static std::unique_ptr<XmlProlog> Create(const std::string& tagName);

    Encoding getEncoding() const;
    Version getVersion() const;

    void setEncoding(const std::string& encoding);
    void setVersion(const std::string& version);
    void update();

private:
    Version mVersion;
    Encoding mEncoding;
};

using XmlPrologPtr = std::unique_ptr<XmlProlog>;
