| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef POWER_MANAGER_COMMON_UTIL_H_ |
| #define POWER_MANAGER_COMMON_UTIL_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include <base/files/file_path.h> |
| #include <base/time/time.h> |
| |
| namespace power_manager { |
| namespace util { |
| |
| // Clamps |percent| in the range [0.0, 100.0]. |
| double ClampPercent(double percent); |
| |
| // Returns |delta| as a string of the format "4h3m45s". |
| std::string TimeDeltaToString(base::TimeDelta delta); |
| |
| // Writes the given buffer into the file, overwriting any data that was |
| // previously there. Returns true if all bytes are written or false otherwise. |
| bool WriteFileFully(const base::FilePath& filename, const char* data, int size); |
| |
| // Writes the base-10 representation of |value| to |path| without a trailing |
| // newline. Logs an error and returns false on failure. |
| bool WriteInt64File(const base::FilePath& path, int64_t value); |
| |
| // Reads a string value from |path| to |value|, ignoring trailing whitespace. |
| // Logs an error and returns false on failure. |
| bool ReadStringFile(const base::FilePath& path, std::string* value_out); |
| |
| // Reads a string value from |path| to |value|, ignoring trailing whitespace. |
| // Returns false on failure without error logging. |
| bool MaybeReadStringFile(const base::FilePath& path, std::string* value_out); |
| |
| // Reads a base-10 int64 value from |path| to |value|, ignoring trailing |
| // whitespace. Logs an error and returns false on failure. |
| bool ReadInt64File(const base::FilePath& path, int64_t* value_out); |
| |
| // Reads a base-10 uint64 value from |path| to |value|, ignoring trailing |
| // whitespace. Logs an error and returns false on failure. |
| bool ReadUint64File(const base::FilePath& path, uint64_t* value_out); |
| |
| // Reads a base-16 uint32 value from |path| to |value|, ignoring trailing |
| // whitespace. Logs an error and returns false on failure. |
| bool ReadHexUint32File(const base::FilePath& path, uint32_t* value_out); |
| |
| // Joins |paths| using |separator|. |
| std::string JoinPaths(const std::vector<base::FilePath>& paths, |
| const std::string& separator); |
| |
| } // namespace util |
| } // namespace power_manager |
| |
| #endif // POWER_MANAGER_COMMON_UTIL_H_ |