/**
 * 最初の著者:: トゥイー
 * リポジトリ情報:: $Id: EngineFactory.hpp 32 2011-05-11 12:48:01Z yutaka_at_home $
 * 著作権:: Copyright (C) Ownway.info, 2011. All rights reserved.
 * ライセンス:: CPL(Common Public Licence)
 */

#ifndef _SPEECH_CONTROLLER_FRAMEWORK_ENGINE_FACTORY_HPP_
#define _SPEECH_CONTROLLER_FRAMEWORK_ENGINE_FACTORY_HPP_

#include <map>
#include <string>

#include <boost/any.hpp>
#include <boost/shared_ptr.hpp>

namespace spcf {

	class Engine;
	typedef boost::shared_ptr<Engine> EnginePtr;

	class EngineFactory {
	public:
		static std::string SAPI_ENGINE;

	public:
		static EnginePtr getEngine(const std::string& name);
		static EnginePtr getEngine(const std::string& name, const std::map<std::string, boost::any>& properties);
	};

}  // namespace spcf

#endif
