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/s3_file_operations.cc b/aos/events/logging/s3_file_operations.cc
index 8764d4a..129b7e2 100644
--- a/aos/events/logging/s3_file_operations.cc
+++ b/aos/events/logging/s3_file_operations.cc
@@ -4,17 +4,30 @@
 
 namespace aos::logger::internal {
 
-S3FileOperations::S3FileOperations(std::string_view url)
-    : object_urls_(ListS3Objects(url)) {}
+std::vector<FileOperations::File> Convert(
+    std::vector<std::pair<std::string, size_t>> &&input) {
+  std::vector<FileOperations::File> result;
+  result.reserve(input.size());
+  for (std::pair<std::string, size_t> &i : input) {
+    result.emplace_back(FileOperations::File{
+        .name = std::move(i.first),
+        .size = i.second,
+    });
+  }
+  return result;
+}
 
-void S3FileOperations::FindLogs(std::vector<std::string> *files) {
+S3FileOperations::S3FileOperations(std::string_view url)
+    : object_urls_(Convert(ListS3Objects(url))) {}
+
+void S3FileOperations::FindLogs(std::vector<File> *files) {
   // We already have a recursive listing, so just grab all the objects from
   // there.
-  for (const std::string &object_url : object_urls_) {
-    if (IsValidFilename(object_url)) {
+  for (const File &object_url : object_urls_) {
+    if (IsValidFilename(object_url.name)) {
       files->push_back(object_url);
     }
   }
 }
 
-}  // namespace aos::logger::internal
\ No newline at end of file
+}  // namespace aos::logger::internal