Add the ability to remove surrounding braces from the JSON formatter.

This commit is contained in:
Seth Hall 2015-02-13 22:02:54 -05:00
parent 212368b245
commit b00bd7702f
2 changed files with 13 additions and 3 deletions

View file

@ -15,7 +15,7 @@
using namespace threading::formatter;
JSON::JSON(MsgThread* t, TimeFormat tf) : Formatter(t)
JSON::JSON(MsgThread* t, TimeFormat tf) : Formatter(t), surrounding_braces(true)
{
timestamps = tf;
}
@ -27,6 +27,7 @@ JSON::~JSON()
bool JSON::Describe(ODesc* desc, int num_fields, const Field* const * fields,
Value** vals) const
{
if ( surrounding_braces )
desc->AddRaw("{");
for ( int i = 0; i < num_fields; i++ )
@ -41,6 +42,7 @@ bool JSON::Describe(ODesc* desc, int num_fields, const Field* const * fields,
return false;
}
if ( surrounding_braces )
desc->AddRaw("}");
return true;
@ -217,3 +219,8 @@ threading::Value* JSON::ParseValue(const string& s, const string& name, TypeTag
GetThread()->Error("JSON formatter does not support parsing yet.");
return NULL;
}
void JSON::SurroundingBraces(bool use_braces)
{
surrounding_braces = use_braces;
}

View file

@ -27,8 +27,11 @@ public:
threading::Value** vals) const;
virtual threading::Value* ParseValue(const string& s, const string& name, TypeTag type, TypeTag subtype = TYPE_ERROR) const;
void SurroundingBraces(bool use_braces);
private:
TimeFormat timestamps;
bool surrounding_braces;
};
}}