19a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com/*
29a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com * Copyright 2012 Google Inc.
39a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com *
49a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com * Use of this source code is governed by a BSD-style license that can be
59a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com * found in the LICENSE file.
69a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com */
79a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com
8f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#include "BenchLogger.h"
9f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina
109a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com#include "SkStream.h"
119a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com
12f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinaBenchLogger::BenchLogger()
132880df2609eba09b555ca37be04b6ad89290c765Tom Hudson: fFileStream(nullptr) {}
149a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com
15f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinaBenchLogger::~BenchLogger() {
169a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com    if (fFileStream) {
172880df2609eba09b555ca37be04b6ad89290c765Tom Hudson        delete fFileStream;
189a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com    }
199a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com}
209a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com
21f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinabool BenchLogger::SetLogFile(const char *file) {
222880df2609eba09b555ca37be04b6ad89290c765Tom Hudson    fFileStream = new SkFILEWStream(file);
239a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com    return fFileStream->isValid();
249a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com}
259a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com
26f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinavoid BenchLogger::fileWrite(const char msg[], size_t size) {
279a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com    if (fFileStream && fFileStream->isValid()) {
289a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com        fFileStream->write(msg, size);
299a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com    }
309a4125283ad56cea3b986337cb669dde14bf0ed8scroggo@google.com}
31