Ejemplo n.º 1
0
void Simulation::write(JSON::Sink &sink) const {
  sink.beginDict();

  sink.beginInsert("tools");
  tools.write(sink);

  sink.beginInsert("path");
  path->write(sink);

  sink.beginInsert("workpiece");
  workpiece.write(sink);

  sink.insert("resolution", resolution);
  sink.insert("time", time);

  sink.endDict();
}
Ejemplo n.º 2
0
void ToolTable::write(JSON::Sink &sink) const {
  sink.beginDict();

  for (const_iterator it = begin(); it != end(); it++)
    if (it->second->getNumber()) {
      sink.beginInsert(String(it->second->getNumber()));
      it->second->write(sink, false);
    }

  sink.endDict();
}
Ejemplo n.º 3
0
void Workpiece::write(JSON::Sink &sink) const {
  sink.beginDict();

  sink.insertBoolean("automatic", automatic);
  sink.insert("margin", margin);
  if (bounds.isValid()) {
    sink.beginInsert("bounds");
    bounds.write(sink);
  }

  sink.endDict();
}
Ejemplo n.º 4
0
void Option::write(JSON::Sink &sink, bool config, const string &delims) const {
  if (config) {
    string value = toString();

    if (isObscured() && !(flags & OBSCURED_FLAG))
      sink.write(string(value.size(), '*'));
    else writeValue(sink, value, delims);

    return;
  }

  sink.beginDict();

  if (!getHelp().empty()) sink.insert("help", getHelp());

  if (hasValue()) {
    sink.beginInsert("value");
    string value = toString();

    if (isObscured() && !(flags & OBSCURED_FLAG))
      sink.write(string(value.size(), '*'));
    else writeValue(sink, value, delims);
  }

  if (hasDefault()) {
    sink.beginInsert("default");
    writeValue(sink, getDefault(), delims);
  }

  sink.insert("type", getTypeString());
  if (isOptional()) sink.insertBoolean("optional", true);
  if (shortName) sink.insert("short", string(1, shortName));
  if (isSet()) sink.insertBoolean("set", true);
  if (isCommandLine()) sink.insertBoolean("command_line", true);
  if (isDepreciated()) sink.insertBoolean("depreciated", true);
  if (!constraint.isNull()) sink.insert("constraint", constraint->getHelp());

  sink.endDict();
}