本文整理汇总了C++中xmlrpc_c::paramList::getStruct方法的典型用法代码示例。如果您正苦于以下问题:C++ paramList::getStruct方法的具体用法?C++ paramList::getStruct怎么用?C++ paramList::getStruct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc_c::paramList
的用法示例。
在下文中一共展示了paramList::getStruct方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
void
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP) {
const params_t params = paramList.getStruct(0);
breakOutParams(params);
#if PT_UG
Mmsapt* pdsa = reinterpret_cast<Mmsapt*>(PhraseDictionary::GetColl()[0]);
pdsa->add(source_,target_,alignment_);
#else
const PhraseDictionary* pdf = PhraseDictionary::GetColl()[0];
PhraseDictionaryDynSuffixArray*
pdsa = (PhraseDictionaryDynSuffixArray*) pdf;
cerr << "Inserting into address " << pdsa << endl;
pdsa->insertSnt(source_, target_, alignment_);
#endif
if(add2ORLM_) {
//updateORLM();
}
XVERBOSE(1,"Done inserting\n");
//PhraseDictionary* pdsa = (PhraseDictionary*) pdf->GetDictionary(*dummy);
map<string, xmlrpc_c::value> retData;
//*retvalP = xmlrpc_c::value_struct(retData);
#ifndef PT_UG
pdf = 0;
#endif
pdsa = 0;
*retvalP = xmlrpc_c::value_string("Phrase table updated");
}
示例2: print
void Log::print(const xmlrpc_c::paramList & params)
{
for(unsigned i=0; i < params.size(); i++) {
std::clog<<"param["<<i<<"]\n";
printValues(params.getStruct(i));
}
}
示例3: execute
void
CloseSession::
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP)
{
typedef std::map<std::string, xmlrpc_c::value> params_t;
paramList.verifyEnd(1); // ??? UG
params_t const& params = paramList.getStruct(0);
params_t::const_iterator si = params.find("session-id");
if (si != params.end())
{
uint64_t session_id = xmlrpc_c::value_int(si->second);
m_server.delete_session(session_id);
*retvalP = xmlrpc_c::value_string("Session closed");
}
}
示例4: fault
void
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP) {
#ifdef WITH_DLIB
const params_t params = paramList.getStruct(0);
params_t::const_iterator si = params.find("model_name");
if (si == params.end()) {
throw xmlrpc_c::fault(
"Missing name of model to be optimized (e.g. PhraseDictionaryMultiModelCounts0)",
xmlrpc_c::fault::CODE_PARSE);
}
const string model_name = xmlrpc_c::value_string(si->second);
PhraseDictionaryMultiModel* pdmm = (PhraseDictionaryMultiModel*) FindPhraseDictionary(model_name);
si = params.find("phrase_pairs");
if (si == params.end()) {
throw xmlrpc_c::fault(
"Missing list of phrase pairs",
xmlrpc_c::fault::CODE_PARSE);
}
vector<pair<string, string> > phrase_pairs;
xmlrpc_c::value_array phrase_pairs_array = xmlrpc_c::value_array(si->second);
vector<xmlrpc_c::value> phrasePairValueVector(phrase_pairs_array.vectorValueValue());
for (size_t i=0; i < phrasePairValueVector.size(); i++) {
xmlrpc_c::value_array phrasePairArray = xmlrpc_c::value_array(phrasePairValueVector[i]);
vector<xmlrpc_c::value> phrasePair(phrasePairArray.vectorValueValue());
string L1 = xmlrpc_c::value_string(phrasePair[0]);
string L2 = xmlrpc_c::value_string(phrasePair[1]);
phrase_pairs.push_back(make_pair(L1,L2));
}
vector<float> weight_vector;
weight_vector = pdmm->MinimizePerplexity(phrase_pairs);
vector<xmlrpc_c::value> weight_vector_ret;
for (size_t i=0; i < weight_vector.size(); i++) {
weight_vector_ret.push_back(xmlrpc_c::value_double(weight_vector[i]));
}
*retvalP = xmlrpc_c::value_array(weight_vector_ret);
#else
string errmsg = "Error: Perplexity minimization requires dlib (compilation option --with-dlib)";
cerr << errmsg << endl;
*retvalP = xmlrpc_c::value_string(errmsg);
#endif
}
示例5: execute
void
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP) {
const params_t params = paramList.getStruct(0);
breakOutParams(params);
const PhraseDictionary* pdf = StaticData::Instance().GetPhraseDictionaries()[0];
PhraseDictionaryDynSuffixArray* pdsa = (PhraseDictionaryDynSuffixArray*) pdf;
cerr << "Inserting into address " << pdsa << endl;
pdsa->insertSnt(source_, target_, alignment_);
if(add2ORLM_) {
//updateORLM();
}
cerr << "Done inserting\n";
//PhraseDictionary* pdsa = (PhraseDictionary*) pdf->GetDictionary(*dummy);
map<string, xmlrpc_c::value> retData;
//*retvalP = xmlrpc_c::value_struct(retData);
pdf = 0;
pdsa = 0;
*retvalP = xmlrpc_c::value_string("Phrase table updated");
}
示例6: execute
void METHOD_MESSAGE_SEND::execute(xmlrpc_c::paramList const & paramList,
xmlrpc_c::value * const retvalPtr)
{
std::string cookie = paramList.getString(0);
std::vector<xmlrpc_c::value> logins(paramList.getArray(1));
std::map<std::string, xmlrpc_c::value> msgInfo(paramList.getStruct(2));
paramList.verifyEnd(3);
ADMIN_INFO adminInfo;
if (config->GetAdminInfo(cookie, &adminInfo))
{
*retvalPtr = xmlrpc_c::value_boolean(false);
return;
}
STG_MSG message;
std::map<std::string, xmlrpc_c::value>::iterator it;
if ((it = msgInfo.find("version")) == msgInfo.end())
{
message.header.ver = 1; // Default value
}
else
{
message.header.ver = xmlrpc_c::value_int(it->second);
}
if ((it = msgInfo.find("type")) == msgInfo.end())
{
message.header.type = 1; // default value
}
else
{
message.header.type = xmlrpc_c::value_int(it->second);
}
if ((it = msgInfo.find("repeat")) == msgInfo.end())
{
*retvalPtr = xmlrpc_c::value_boolean(false);
return;
}
message.header.repeat = xmlrpc_c::value_int(it->second);
if ((it = msgInfo.find("repeat_period")) == msgInfo.end())
{
*retvalPtr = xmlrpc_c::value_boolean(false);
return;
}
message.header.repeatPeriod = xmlrpc_c::value_int(it->second);
if ((it = msgInfo.find("show_time")) == msgInfo.end())
{
*retvalPtr = xmlrpc_c::value_boolean(false);
return;
}
message.header.showTime = xmlrpc_c::value_int(it->second);
if ((it = msgInfo.find("text")) == msgInfo.end())
{
*retvalPtr = xmlrpc_c::value_boolean(false);
return;
}
message.text = IconvString(xmlrpc_c::value_string(it->second), "UTF-8", "CP1251");
message.header.creationTime = static_cast<int>(stgTime);
message.header.lastSendTime = 0;
std::vector<xmlrpc_c::value>::iterator lit;
for (lit = logins.begin(); lit != logins.end(); ++lit)
{
USER_PTR ui;
if (users->FindByName(xmlrpc_c::value_string(*lit), &ui))
{
printfd(__FILE__, "METHOD_MESSAGE_SEND::execute(): 'User '%s' not found'\n", std::string(xmlrpc_c::value_string(*lit)).c_str());
}
else
{
ui->AddMessage(&message);
}
}
*retvalPtr = xmlrpc_c::value_boolean(true);
}