aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMJsonWriter.h
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@google.com>2014-11-04 07:21:10 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-11-04 07:21:10 -0800
commit7a10fb6bead0f63623307a7ff71b1dd323534a7f (patch)
tree2b6303fdbb8d8768560daca5996bc8a38b82536f /dm/DMJsonWriter.h
parentb32f0ad89119625feedb4f0403bbbc94fae44668 (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.h44
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