#pragma once

#include "data/config/LegacyConfig.h"

namespace inertia
{

struct INERTIA_API SamplingConfig
	: LegacyConfig
{
public:
	bool enableSampling;
	bool enableTransmit;
	bool enableLogging;
	bool adoptMod;
	uint32_t mod;

protected:
	SamplingConfig();
	SamplingConfig(uint8_t const* in);
	SamplingConfig(std::wstring const& argString);

#ifdef WITH_BOOST_PROGRAM_OPTIONS
	static const po::options_description GetOptionDescription();
#endif

	void GetBytes(std::vector<uint8_t>& out) const override;
	const std::wstring ToString() const override;
	const std::wstring ToSimpleString(uint16_t const globalRate) const;
};

}
