return true;
}
+bool RemoteBackend::getAllDomainMetadata(const string& name, std::map<std::string, std::vector<std::string> >& meta) {
+ rapidjson::Document query,answer;
+ rapidjson::Value parameters;
+
+ query.SetObject();
+ JSON_ADD_MEMBER(query, "method", "getAllDomainMetadata", query.GetAllocator());
+ parameters.SetObject();
+ JSON_ADD_MEMBER(parameters, "name", name.c_str(), query.GetAllocator());
+ query.AddMember("parameters", parameters, query.GetAllocator());
+
+ if (this->send(query) == false)
+ return false;
+
+ meta.clear();
+
+ // not mandatory to implement
+ if (this->recv(answer) == false)
+ return true;
+
+ if (answer["result"].IsObject()) {
+ for (rapidjson::Value::MemberIterator kind = answer["result"].MemberBegin(); kind != answer["result"].MemberEnd(); kind++)
+ for(rapidjson::Value::ValueIterator content = kind->value.Begin(); content != kind->value.End(); content++)
+ meta[kind->name.GetString()].push_back(getString(*content));
+ }
+
+ return true;
+}
+
bool RemoteBackend::getDomainMetadata(const std::string& name, const std::string& kind, std::vector<std::string>& meta) {
rapidjson::Document query,answer;
rapidjson::Value parameters;
bool get(DNSResourceRecord &rr);
bool list(const std::string &target, int domain_id, bool include_disabled=false);
+ virtual bool getAllDomainMetadata(const string& name, std::map<std::string, std::vector<std::string> >& meta);
virtual bool getDomainMetadata(const std::string& name, const std::string& kind, std::vector<std::string>& meta);
virtual bool getDomainKeys(const std::string& name, unsigned int kind, std::vector<DNSBackend::KeyData>& keys);
virtual bool getTSIGKey(const std::string& name, std::string* algorithm, std::string* content);