11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright (c) 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef BASE_TEST_TRACE_TO_FILE_H_ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define BASE_TEST_TRACE_TO_FILE_H_ 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_path.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace base { 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace test { 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass TraceToFile { 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci public: 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TraceToFile(); 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ~TraceToFile(); 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void BeginTracingFromCommandLineOptions(); 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void BeginTracing(const base::FilePath& path, const std::string& categories); 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void EndTracingIfNeeded(); 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci private: 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void WriteFileHeader(); 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void AppendFileFooter(); 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci void TraceOutputCallback(const std::string& data); 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci base::FilePath path_; 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci bool started_; 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace test 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace base 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // BASE_TEST_TRACE_TO_FILE_H_ 36