Commit f6d89c26 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

add 'string' label format

parent 4c5d4d97
Loading
Loading
Loading
Loading
+21 −4
Original line number Diff line number Diff line
@@ -141,13 +141,25 @@ ReturnCode confgure_format_datetime(
  return OK;
}

ReturnCode confgure_format(
Formatter format_string() {
  Formatter f;
  f.format_value = [] (const Value& v) -> std::string {
    return v;
  };

  return f;
}

ReturnCode confgure_format_string(
    const plist::Property& prop,
    Formatter* formatter) {
  if (prop.size() < 1) {
    return ERROR_INVALID_ARGUMENT;
  *formatter = format_string();
  return OK;
}

ReturnCode confgure_format(
    const plist::Property& prop,
    Formatter* formatter) {
  if (plist::is_value(prop, "fixed") ||
      plist::is_enum(prop, "fixed")) {
    return confgure_format_decimal_fixed(prop, formatter);
@@ -163,6 +175,11 @@ ReturnCode confgure_format(
    return confgure_format_datetime(prop, formatter);
  }

  if (plist::is_value(prop, "string") ||
      plist::is_enum(prop, "string")) {
    return confgure_format_string(prop, formatter);
  }

  return OK;
}

+3 −2
Original line number Diff line number Diff line
@@ -40,9 +40,10 @@ struct Formatter {
  std::function<std::string (const Value&)> format_value;
};

Formatter format_decimal_scientific(size_t precision);

Formatter format_decimal_fixed(size_t precision);
Formatter format_decimal_scientific(size_t precision);
Formatter format_datetime(const std::string& fmt);
Formatter format_string();

ReturnCode confgure_format(
    const plist::Property& prop,