Index: dm/DMJsonWriter.h |
diff --git a/dm/DMJsonWriter.h b/dm/DMJsonWriter.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c358fdd9237285779294489964ade172c11305d1 |
--- /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 |