#pragma once

#include <functional>
#include "Types.h"

class CSoundHandler
{
public:
	typedef std::function<CSoundHandler*(void)> FactoryFunction;

	virtual ~CSoundHandler() = default;
	virtual void Reset() = 0;
	virtual void Write(int16*, unsigned int, unsigned int) = 0;
	virtual bool HasFreeBuffers() = 0;
	virtual void RecycleBuffers() = 0;

private:
};
