123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- * 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 "include/core/SkString.h"
- #include "tools/flags/CommandLineFlags.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", "serialize", "pipe"
- SkString sourceType; // "gm", "skp", "image"
- SkString sourceOptions; // "image", "codec", "subset", "scanline"
- SkString md5; // In ASCII, so 32 bytes long.
- SkString ext; // Extension of file we wrote: "png", "pdf", ...
- SkString gamut;
- SkString transferFn;
- SkString colorType;
- SkString alphaType;
- SkString colorDepth;
- };
- /**
- * Add a result to the end of the list of results.
- */
- static void AddBitmapResult(const BitmapResult&);
- /**
- * Write all collected results to the file dir/dm.json.
- */
- static void DumpJson(const char* dir,
- CommandLineFlags::StringArray key,
- CommandLineFlags::StringArray properties);
- /**
- * Read JSON file at path written by DumpJson, calling callback for each
- * BitmapResult recorded in the file. Return success.
- */
- static bool ReadJson(const char* path, void(*callback)(BitmapResult));
- };
- } // namespace DM
- #endif // DMJsonWriter_DEFINED
|