#include "COpResultOpt.h" #include "pub_utility_api/I18N.h" COpResultOpt::COpResultOpt() { } COpResultOpt::~COpResultOpt() { } void COpResultOpt::resetResult(const std::string& keyTag) { boost::mutex::scoped_lock lock(m_muWait); m_objResult.keyTag = keyTag; m_objResult.resultCode = OPT_RESPONSE_TYPE_INIT; m_objResult.resultDesc = ""; } SOptResult COpResultOpt::getResult(int waitTime) { SOptResult result; boost::mutex::scoped_lock lock(m_muWait); using namespace boost::posix_time; if (m_condWait.timed_wait(lock, seconds(waitTime))) { result.keyTag = m_objResult.keyTag; result.resultCode = m_objResult.resultCode; result.resultDesc = m_objResult.resultDesc; return result; } result.keyTag = m_objResult.keyTag; result.resultCode = OPT_RESPONSE_TYPE_INIT; result.resultDesc = ""; return result; } bool COpResultOpt::setResult( const SOptResult& info) { boost::mutex::scoped_lock lock(m_muWait); if (info.keyTag != m_objResult.keyTag) { return false; } m_objResult.resultCode = info.resultCode; m_objResult.resultDesc = info.resultDesc; m_condWait.notify_one(); return true; } std::string COpResultOpt::OptOpTypeStr(OPT_RESPONSE_TYPE type) { std::string strRet; switch (type) { case OPT_RESPONSE_TYPE_INIT: strRet = I18N("初始化状态"); break; case OPT_RESPONSE_TYPE_FAILED: strRet = I18N("失败"); break; case OPT_RESPONSE_TYPE_SUCCESS: strRet = I18N("成功"); break; default: strRet = I18N("未知的应答类型"); break; } return strRet; }