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. 19 bool FileExists(const string& path); 20 21 // Reads a file at the given |path| as a string and returns it. 22 string 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. 26 void 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. 31 bool ParseArguments(int argc, const char* argv[], string* input, string* output, 32 bool* overwriteOutput); 33 34 // Prints the usage of the tool. 35 void PrintUsage(); 36 37 #endif // PERFTOOLS_PERF_TO_PROFILE_LIB_H_ 38