#pragma once
#include <mof/tstring.hpp>
#include <memory>
#include <boost/utility.hpp>

namespace mof
{
namespace sound
{
	class DirectSoundDevice;

	class sound_recoder : boost::noncopyable
	{
	public:
		typedef std::shared_ptr<sound_recoder> ptr;

		sound_recoder();
		explicit sound_recoder(const tstring& filename);
		~sound_recoder();

		void open(const tstring& filename);
	private:
		struct impl;
		std::unique_ptr<impl> pimpl_;
	};

}// namespace sound
}// namespace mof
