#pragma once

#include "sdkexport.h"
#include <string>

namespace mpl {

namespace sdk {
class TypeConversions;
}

class MPL_API Zonedata {
public:
    Zonedata() = delete;
    ~Zonedata();
    Zonedata(const Zonedata&) = default;
    Zonedata& operator=(const Zonedata&) = default;
    Zonedata(Zonedata&&) = default;
    Zonedata& operator=(Zonedata&&) = default;

    unsigned getId() const;
    std::string getName() const;

    bool getFinep() const;
    double getPzoneTcp() const;
    double getPzoneOri() const;
    double getPzoneEax() const;
    double getZoneOri() const;
    double getZoneLeax() const;
    double getZoneReax() const;

private:
    friend class sdk::TypeConversions;

    explicit Zonedata(const void* impl);

    const void* pimpl;
};

}
