#include #include "TranslationRequest.h" #include "../ManagerBase.h" #include "../System.h" using namespace std; namespace Moses2 { TranslationRequest:: TranslationRequest(xmlrpc_c::paramList const& paramList, boost::condition_variable& cond, boost::mutex& mut, System &system, const std::string &line, long translationId) :TranslationTask(system, line, translationId) ,m_cond(cond) ,m_mutex(mut) ,m_done(false) { } boost::shared_ptr TranslationRequest:: create(Translator* translator, xmlrpc_c::paramList const& paramList, boost::condition_variable& cond, boost::mutex& mut, System &system, const std::string &line, long translationId) { boost::shared_ptr ret; TranslationRequest *request = new TranslationRequest(paramList, cond, mut, system, line, translationId); ret.reset(request); ret->m_translator = translator; return ret; } void TranslationRequest:: Run() { m_mgr->Decode(); string out; out = m_mgr->OutputBest(); m_retData["text"] = xmlrpc_c::value_string(out); { boost::lock_guard lock(m_mutex); m_done = true; } m_cond.notify_one(); delete m_mgr; } void TranslationRequest::pack_hypothesis(const Manager& manager, Hypothesis const* h, std::string const& key, std::map & dest) const { } }