#pragma once

#include "speaker_define.h"

namespace speaker{
class ISpeaker{

protected:
	ISpeaker();
		
		//コピーガード
private:
	ISpeaker (const ISpeaker&);
	ISpeaker& operator=(const ISpeaker&);

public:

	///
	///読み上げ
	///
	virtual void Synthesis(const TChar_P txt) = 0;

	///
	///非同期で読み上げ
	///
	virtual void SynthesisAsync(const TChar_P txt) = 0;

	///
	///オブジェクト開放
	///
	virtual void Clear() = 0;


	///
	///メイ取得
	///
	static ISpeaker &GetMeiNormal(const TChar_P voiceDataDir,const TChar_P dictinaryDataDir);

};

}