#pragma once

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

namespace mpl {

namespace sdk {
class TypeConversions;
}

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

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

    double getVTcp() const;
    double getVOri() const;
    double getVLeax() const;
    double getVReax() const;

    std::string toString() const;

private:
    friend class sdk::TypeConversions;

    explicit Speeddata(const void* impl);

    const void* pimpl;
};

}
