skia2/dm/DMJsonWriter.h
scroggo 7a10fb6bea 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
2014-11-04 07:21:10 -08:00

45 lines
1.1 KiB
C++

/*
* 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