// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef STORAGE_BROWSER_FILE_SYSTEM_FILE_STREAM_TEST_UTILS_H_ #define STORAGE_BROWSER_FILE_SYSTEM_FILE_STREAM_TEST_UTILS_H_ #include <string> #include "base/types/expected.h" #include "net/base/net_errors.h" namespace storage { class FileStreamReader; class FileStreamWriter; // Reads up to `bytes_to_read` bytes of data from `reader`. // Returns the bytes read or an error code. base::expected<std::string, net::Error> ReadFromReader(FileStreamReader& reader, size_t bytes_to_read); // Returns the length of the file if it could be successfully retrieved, // otherwise a net error. int64_t GetLengthFromReader(FileStreamReader* reader); // Writes `data` to `writer`, an initialized FileStreamWriter. Returns net::OK // if successful, otherwise a net error. int WriteStringToWriter(FileStreamWriter* writer, const std::string& data); } // namespace storage #endif // STORAGE_BROWSER_FILE_SYSTEM_FILE_STREAM_TEST_UTILS_H_