blob: c358fdd9237285779294489964ade172c11305d1 [file] [log] [blame]
scroggo7a10fb62014-11-04 07:21:10 -08001/*
2 * Copyright 2014 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef DMJsonWriter_DEFINED
9#define DMJsonWriter_DEFINED
10
11#include "SkString.h"
12
13namespace DM {
14
15/**
16 * Class for collecting results from DM and writing to a json file.
17 * All methods are thread-safe.
18 */
19class JsonWriter {
20public:
21 /**
22 * Info describing a single run.
23 */
24 struct BitmapResult {
25 SkString name; // E.g. "ninepatch-stretch", "desk-gws_skp"
26 SkString config; // "gpu", "8888"
27 SkString mode; // "direct", "default-tilegrid", "pipe"
28 SkString sourceType; // "GM", "SKP"
29 SkString md5; // In ASCII, so 32 bytes long.
30 };
31
32 /**
33 * Add a result to the end of the list of results.
34 */
35 static void AddBitmapResult(const BitmapResult&);
36
37 /**
38 * Write all collected results to the file FLAGS_writePath[0]/dm.json.
39 */
40 static void DumpJson();
41};
42
43} // namespace DM
44#endif // DMJsonWriter_DEFINED