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