feat(filesystem_v2): add dump() to string

This commit is contained in:
Marcus Holland-Moritz 2024-01-03 11:48:45 +01:00
parent 01065f92aa
commit aad28c6aa1
2 changed files with 12 additions and 0 deletions

View File

@ -84,6 +84,8 @@ class filesystem_v2 {
impl_->dump(os, detail_level);
}
std::string dump(int detail_level) const { return impl_->dump(detail_level); }
folly::dynamic info_as_dynamic(int detail_level) const {
return impl_->info_as_dynamic(detail_level);
}
@ -199,6 +201,7 @@ class filesystem_v2 {
virtual int
check(filesystem_check_level level, size_t num_threads) const = 0;
virtual void dump(std::ostream& os, int detail_level) const = 0;
virtual std::string dump(int detail_level) const = 0;
virtual folly::dynamic info_as_dynamic(int detail_level) const = 0;
virtual folly::dynamic metadata_as_dynamic() const = 0;
virtual std::string serialize_metadata_as_json(bool simple) const = 0;

View File

@ -25,6 +25,7 @@
#include <functional>
#include <iostream>
#include <mutex>
#include <sstream>
#include <unordered_map>
#include <vector>
@ -360,6 +361,7 @@ class filesystem_ final : public filesystem_v2::impl {
int check(filesystem_check_level level, size_t num_threads) const override;
void dump(std::ostream& os, int detail_level) const override;
std::string dump(int detail_level) const override;
folly::dynamic info_as_dynamic(int detail_level) const override;
folly::dynamic metadata_as_dynamic() const override;
std::string serialize_metadata_as_json(bool simple) const override;
@ -842,6 +844,13 @@ void filesystem_<LoggerPolicy>::dump(std::ostream& os, int detail_level) const {
});
}
template <typename LoggerPolicy>
std::string filesystem_<LoggerPolicy>::dump(int detail_level) const {
std::ostringstream oss;
dump(oss, detail_level);
return oss.str();
}
template <typename LoggerPolicy>
folly::dynamic
filesystem_<LoggerPolicy>::info_as_dynamic(int detail_level) const {