本文整理汇总了C++中xmlrpc_c::paramList::verifyEnd方法的典型用法代码示例。如果您正苦于以下问题:C++ paramList::verifyEnd方法的具体用法?C++ paramList::verifyEnd怎么用?C++ paramList::verifyEnd使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlrpc_c::paramList
的用法示例。
在下文中一共展示了paramList::verifyEnd方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void RemoteKinematics::GetHeadMethod::execute(xmlrpc_c::paramList const& paramList, xmlrpc_c::value* const resultP) {
paramList.verifyEnd(1);
bool top_camera = paramList.getBoolean(0);
SensorData<double>::Ptr data;
data = this->m_kinematics->getHeadPosition(top_camera);
xmlrpc_env env;
xmlrpc_env_init(&env);
xmlrpc_value* elem;
xmlrpc_value* values;
xmlrpc_value* result;
values = xmlrpc_array_new(&env);
for (int i = 0; i < data->data.size(); ++i) {
elem = xmlrpc_double_new(&env, data->data[i]);
xmlrpc_array_append_item(&env, values, elem);
xmlrpc_DECREF(elem);
}
elem = xmlrpc_double_new(&env, data->timestamp);
// Create result struct
result = xmlrpc_struct_new(&env);
xmlrpc_struct_set_value(&env, result, "data", values);
xmlrpc_struct_set_value(&env, result, "timestamp", elem);
// Apply result
resultP->instantiate(result);
// Clean this shit!
xmlrpc_DECREF(elem);
xmlrpc_DECREF(values);
xmlrpc_DECREF(result);
xmlrpc_env_clean(&env);
}
示例2: execute
void
execute(xmlrpc_c::paramList const& paramList,
value * const retvalP) {
paramList.verifyEnd(1);
*retvalP = paramList[0];
}
示例3: hvRequested
void
execute(const xmlrpc_c::paramList & paramList, xmlrpc_c::value* retvalP) {
// Get the requested mode
bool const hvRequested(paramList.getBoolean(0));
paramList.verifyEnd(1);
TheTransmitControl->setHvRequested(hvRequested);
*retvalP = xmlrpc_c::value_nil();
}
示例4: execute
void
execute(xmlrpc_c::paramList const& paramList,
value * const retvalP) {
paramList.getNil(0);
paramList.verifyEnd(1);
*retvalP = value_i8(7ll);
}
示例5: state
void
execute(const xmlrpc_c::paramList & paramList, xmlrpc_c::value* retvalP) {
// Get the requested mode
int const state(paramList.getInt(0));
paramList.verifyEnd(1);
ILOG << "Received 'setApsValveControl(" << state << ")' command";
TheApsControl->setValveControl(static_cast<ApsControl::ValveControlState>(state));
*retvalP = xmlrpc_c::value_nil();
}
示例6: addend
void
execute(xmlrpc_c::paramList const& paramList,
value * const retvalP) {
int const addend(paramList.getInt(0));
int const adder(paramList.getInt(1));
paramList.verifyEnd(2);
*retvalP = value_int(addend + adder);
}
示例7: iMode
void
execute(const xmlrpc_c::paramList & paramList, xmlrpc_c::value* retvalP) {
paramList.verifyEnd(1);
// Get the requested mode
const int iMode(paramList.getInt(0));
HcrPmc730::HmcOperationMode hmcMode =
static_cast<HcrPmc730::HmcOperationMode>(iMode);
ILOG << "Received 'setRequestedHmcMode(" << iMode << ")' command";
TheTransmitControl->setRequestedHmcMode(hmcMode);
*retvalP = xmlrpc_c::value_nil();
}
示例8: execute
void
execute(xmlrpc_c::paramList const& paramList,
const xmlrpc_c::callInfo * const callInfoPtr,
xmlrpc_c::value * const retvalP) {
const xmlrpc_c::callInfo_serverAbyss * const callInfoP(
dynamic_cast<const xmlrpc_c::callInfo_serverAbyss *>(callInfoPtr));
paramList.verifyEnd(0);
// Because this gets called via a xmlrpc_c::serverAbyss:
assert(callInfoP != NULL);
*retvalP = xmlrpc_c::value_string(rpcIpAddrMsg(*callInfoP));
}
示例9: 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");
}
}
示例10: addend
void
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP) {
int const addend(paramList.getInt(0));
int const adder(paramList.getInt(1));
paramList.verifyEnd(2);
*retvalP = xmlrpc_c::value_int(addend + adder);
// Sometimes, make it look hard (so client can see what it's like
// to do an RPC that takes a while).
if (adder == 1)
SLEEP(2);
}
示例11:
void RemoteAccelerometer::AccelerationMethod::execute(xmlrpc_c::paramList const ¶mList,
xmlrpc_c::value *const resultP) {
paramList.verifyEnd(0);
SensorData<double>::Ptr data = m_accelerometer->getAcceleration();
// TODO Check for memory leaks
// Some optimisation by using C library of xmlrpc-c
xmlrpc_env env;
xmlrpc_env_init(&env);
xmlrpc_value *elem;
xmlrpc_value *values;
xmlrpc_value *result;
// Init result array
values = xmlrpc_array_new(&env);
for (int i = 0; i < data->data.size(); ++i) {
elem = xmlrpc_double_new(&env, data->data[i]);
xmlrpc_array_append_item(&env, values, elem);
xmlrpc_DECREF(elem);
}
// XMLRPC-C timestamp
elem = xmlrpc_double_new(&env, data->timestamp);
// Create result struct
result = xmlrpc_struct_new(&env);
xmlrpc_struct_set_value(&env, result, "data", values);
xmlrpc_struct_set_value(&env, result, "timestamp", elem);
// Apply result
resultP->instantiate(result);
// Clean this shit!
xmlrpc_DECREF(elem);
xmlrpc_DECREF(values);
xmlrpc_DECREF(result);
xmlrpc_env_clean(&env);
}
示例12: fault
void
execute(xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retvalP) {
const params_t params = paramList.getStruct(0);
paramList.verifyEnd(1);
params_t::const_iterator si = params.find("text");
if (si == params.end()) {
throw xmlrpc_c::fault(
"Missing source text",
xmlrpc_c::fault::CODE_PARSE);
}
const string source(
(xmlrpc_c::value_string(si->second)));
cerr << "Input: " << source << endl;
si = params.find("align");
bool addAlignInfo = (si != params.end());
si = params.find("sg");
bool addGraphInfo = (si != params.end());
si = params.find("topt");
bool addTopts = (si != params.end());
si = params.find("report-all-factors");
bool reportAllFactors = (si != params.end());
si = params.find("nbest");
int nbest_size = (si == params.end()) ? 0 : int(xmlrpc_c::value_int(si->second));
si = params.find("nbest-distinct");
bool nbest_distinct = (si != params.end());
vector<float> multiModelWeights;
si = params.find("lambda");
if (si != params.end()) {
xmlrpc_c::value_array multiModelArray = xmlrpc_c::value_array(si->second);
vector<xmlrpc_c::value> multiModelValueVector(multiModelArray.vectorValueValue());
for (size_t i=0; i < multiModelValueVector.size(); i++) {
multiModelWeights.push_back(xmlrpc_c::value_double(multiModelValueVector[i]));
}
}
const StaticData &staticData = StaticData::Instance();
if (addGraphInfo) {
(const_cast<StaticData&>(staticData)).SetOutputSearchGraph(true);
}
if (multiModelWeights.size() > 0) {
PhraseDictionaryMultiModel* pdmm = (PhraseDictionaryMultiModel*) staticData.GetPhraseDictionaries()[0]; //TODO: only works if multimodel is first phrase table
pdmm->SetTemporaryMultiModelWeightsVector(multiModelWeights);
}
stringstream out, graphInfo, transCollOpts;
map<string, xmlrpc_c::value> retData;
if (staticData.IsChart()) {
TreeInput tinput;
const vector<FactorType> &inputFactorOrder =
staticData.GetInputFactorOrder();
stringstream in(source + "\n");
tinput.Read(in,inputFactorOrder);
ChartManager manager(tinput);
manager.ProcessSentence();
const ChartHypothesis *hypo = manager.GetBestHypothesis();
outputChartHypo(out,hypo);
} else {
Sentence sentence;
const vector<FactorType> &inputFactorOrder =
staticData.GetInputFactorOrder();
stringstream in(source + "\n");
sentence.Read(in,inputFactorOrder);
size_t lineNumber = 0; // TODO: Include sentence request number here?
Manager manager(lineNumber, sentence, staticData.GetSearchAlgorithm());
manager.ProcessSentence();
const Hypothesis* hypo = manager.GetBestHypothesis();
vector<xmlrpc_c::value> alignInfo;
outputHypo(out,hypo,addAlignInfo,alignInfo,reportAllFactors);
if (addAlignInfo) {
retData.insert(pair<string, xmlrpc_c::value>("align", xmlrpc_c::value_array(alignInfo)));
}
if(addGraphInfo) {
insertGraphInfo(manager,retData);
(const_cast<StaticData&>(staticData)).SetOutputSearchGraph(false);
}
if (addTopts) {
insertTranslationOptions(manager,retData);
}
if (nbest_size>0) {
outputNBest(manager, retData, nbest_size, nbest_distinct, reportAllFactors);
}
}
pair<string, xmlrpc_c::value>
text("text", xmlrpc_c::value_string(out.str()));
retData.insert(text);
cerr << "Output: " << out.str() << endl;
*retvalP = xmlrpc_c::value_struct(retData);
}
示例13: 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);
}