1/* 2 * Copyright (c) 2018, Google Inc. 3 * All rights reserved. 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8#ifndef PERFTOOLS_PERF_TO_PROFILE_LIB_H_ 9#define PERFTOOLS_PERF_TO_PROFILE_LIB_H_ 10 11#include <unistd.h> 12#include <fstream> 13 14#include "base/logging.h" 15#include "string_compat.h" 16 17// Checks and returns whether or not the file at the given |path| already 18// exists. 19bool FileExists(const string& path); 20 21// Reads a file at the given |path| as a string and returns it. 22string ReadFileToString(const string& path); 23 24// Creates a file at the given |path|. If |overwriteOutput| is set to true, 25// overwrites the file at the given path. 26void CreateFile(const string& path, std::ofstream* file, bool overwriteOutput); 27 28// Parses arguments, stores the results in |input|, |output| and 29// |overwriteOutput|, and returns true if arguments parsed successfully and 30// false otherwise. 31bool ParseArguments(int argc, const char* argv[], string* input, string* output, 32 bool* overwriteOutput); 33 34// Prints the usage of the tool. 35void PrintUsage(); 36 37#endif // PERFTOOLS_PERF_TO_PROFILE_LIB_H_ 38