void ClientConnection::processAnonymousGet(const Get& get) { const std::vector<Root>& args = get->getArgs(); if (args.empty()) { Info serverInfo; RootEntity svObj; Atlas::Message::ListType prs; prs.push_back("server"); svObj->setParentsAsList(prs); svObj->setName("Bob's StubServer"); svObj->setAttr("server", "stubserver"); svObj->setAttr("ruleset", "stub-world"); svObj->setAttr("uptime", 666.0); svObj->setAttr("clients", 42); serverInfo->setArgs1(svObj); send(serverInfo); } else { std::string typeName = args.front()->getId(); if (m_server->m_types.count(typeName)) { Info typeInfo; typeInfo->setArgs1(m_server->m_types[typeName]); typeInfo->setRefno(get->getSerialno()); send(typeInfo); } else sendError("unknown type " + typeName, get); } }
void RuleTraversalTask::getRule(const std::string & id, OpVector & res) { Get get; Anonymous arg; arg->setId(id); get->setArgs1(arg); get->setObjtype("op"); get->setSerialno(newSerialNo()); mSerial = get->getSerialno(); res.push_back(get); }