// helper method for "yarpdev" body static void toDox(PolyDriver& dd, FILE *os) { fprintf(os,"===============================================================\n"); fprintf(os,"== Options checked by device:\n== \n"); Bottle order = dd.getOptions(); for (size_t i=0; i<order.size(); i++) { std::string name = order.get(i).toString(); if (name=="wrapped"||(name.find(".wrapped")!=std::string::npos)) { continue; } std::string desc = dd.getComment(name.c_str()); Value def = dd.getDefaultValue(name.c_str()); Value actual = dd.getValue(name.c_str()); std::string out = ""; out += name; if (!actual.isNull()) { if (actual.toString()!="") { out += "="; if (actual.toString().length()<40) { out += actual.toString().c_str(); } else { out += "(value too long)"; } } } if (!def.isNull()) { if (def.toString()!="") { out += " ["; if (def.toString().length()<40) { out += def.toString().c_str(); } else { out += "(value too long)"; } out += "]"; } } if (desc!="") { out += "\n "; out += desc.c_str(); } fprintf(os,"%s\n", out.c_str()); } fprintf(os,"==\n"); fprintf(os,"===============================================================\n"); }
static void toDox(PolyDriver& dd, FILE *os) { fprintf(os, "<table>\n"); fprintf(os, "<tr><td>PROPERTY</td><td>DESCRIPTION</td><td>DEFAULT</td></tr>\n"); Bottle order = dd.getOptions(); for (int i=0; i<order.size(); i++) { String name = order.get(i).toString().c_str(); if (name=="wrapped"||name.substr(0,10)=="subdevice.") { continue; } ConstString desc = dd.getComment(name.c_str()); ConstString def = dd.getDefaultValue(name.c_str()).toString(); String out = ""; out += "<tr><td>"; out += name.c_str(); out += "</td><td>"; out += desc.c_str(); out += "</td><td>"; out += def.c_str(); out += "</td></tr>"; fprintf(os,"%s\n",out.c_str()); } fprintf(os, "</table>\n"); }