diff options
author | scroggo <scroggo@google.com> | 2014-11-04 07:21:10 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-04 07:21:10 -0800 |
commit | 7a10fb6bead0f63623307a7ff71b1dd323534a7f (patch) | |
tree | 2b6303fdbb8d8768560daca5996bc8a38b82536f /dm/DMJsonWriter.h | |
parent | b32f0ad89119625feedb4f0403bbbc94fae44668 (diff) |
Separate JSON functions from DMWriteTask.
Add JsonWriter, which handles Json output from DM, in preparation for
adding json output for tests. This change should not affect behavior.
BUG=skia:2454
Review URL: https://codereview.chromium.org/702513003
Diffstat (limited to 'dm/DMJsonWriter.h')
-rw-r--r-- | dm/DMJsonWriter.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dm/DMJsonWriter.h b/dm/DMJsonWriter.h new file mode 100644 index 0000000000..c358fdd923 --- /dev/null +++ b/dm/DMJsonWriter.h @@ -0,0 +1,44 @@ +/* + * Copyright 2014 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef DMJsonWriter_DEFINED +#define DMJsonWriter_DEFINED + +#include "SkString.h" + +namespace DM { + +/** + * Class for collecting results from DM and writing to a json file. + * All methods are thread-safe. + */ +class JsonWriter { +public: + /** + * Info describing a single run. + */ + struct BitmapResult { + SkString name; // E.g. "ninepatch-stretch", "desk-gws_skp" + SkString config; // "gpu", "8888" + SkString mode; // "direct", "default-tilegrid", "pipe" + SkString sourceType; // "GM", "SKP" + SkString md5; // In ASCII, so 32 bytes long. + }; + + /** + * Add a result to the end of the list of results. + */ + static void AddBitmapResult(const BitmapResult&); + + /** + * Write all collected results to the file FLAGS_writePath[0]/dm.json. + */ + static void DumpJson(); +}; + +} // namespace DM +#endif // DMJsonWriter_DEFINED |