#pragma once

#include "data/config/LegacyConfig.h"

namespace inertia
{

struct INERTIA_API CorrelationConfig
	: LegacyConfig
{
	uint8_t windowSize;
	uint8_t windowOverlap;
	uint8_t history;
	uint8_t minimumHistory;

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

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

	ConfigType GetConfigType() const override;
	static unsigned GetLength();
	void GetBytes(std::vector<uint8_t>& out) const override;
	const std::wstring ToString() const override;
};

}
