Expose file size from log file reader classes

Change-Id: Ib826c4405ba78e9e1ab37dfd1893d67fc08a7522
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/events/logging/log_backend.cc b/aos/events/logging/log_backend.cc
index 6cd9a7d..f8a6846 100644
--- a/aos/events/logging/log_backend.cc
+++ b/aos/events/logging/log_backend.cc
@@ -334,32 +334,35 @@
       base_name_(base_name),
       separator_(base_name_.back() == '/' ? "" : "_") {}
 
-std::unique_ptr<LogSink> FileBackend::RequestFile(std::string_view id) {
+std::unique_ptr<LogSink> FileBackend::RequestFile(const std::string_view id) {
   const std::string filename = absl::StrCat(base_name_, separator_, id);
   return std::make_unique<FileHandler>(filename, supports_odirect_);
 }
 
-std::vector<std::string> FileBackend::ListFiles() const {
+std::vector<FileBackend::File> FileBackend::ListFiles() const {
   std::filesystem::path directory(base_name_);
   if (!is_directory(directory)) {
     directory = directory.parent_path();
   }
   internal::LocalFileOperations operations(directory.string());
-  std::vector<std::string> files;
+  std::vector<internal::FileOperations::File> files;
   operations.FindLogs(&files);
 
-  std::vector<std::string> names;
+  std::vector<File> names;
   const std::string prefix = absl::StrCat(base_name_, separator_);
   for (const auto &file : files) {
-    CHECK(absl::StartsWith(file, prefix))
-        << ": File " << file << ", prefix " << prefix;
-    names.push_back(file.substr(prefix.size()));
+    CHECK(absl::StartsWith(file.name, prefix))
+        << ": File " << file.name << ", prefix " << prefix;
+    names.emplace_back(File{
+        .name = file.name.substr(prefix.size()),
+        .size = file.size,
+    });
   }
   return names;
 }
 
 std::unique_ptr<DataDecoder> FileBackend::GetDecoder(
-    std::string_view id) const {
+    const std::string_view id) const {
   const std::string filename = absl::StrCat(base_name_, separator_, id);
   CHECK(std::filesystem::exists(filename));
   return std::make_unique<DummyDecoder>(filename);
@@ -372,7 +375,7 @@
       separator_(base_name_.back() == '/' ? "" : "_") {}
 
 std::unique_ptr<LogSink> RenamableFileBackend::RequestFile(
-    std::string_view id) {
+    const std::string_view id) {
   const std::string filename =
       absl::StrCat(base_name_, separator_, id, temp_suffix_);
   return std::make_unique<RenamableFileHandler>(this, filename,