Loading radio/aidl/minradio/libminradio/include/libminradio/sim/Filesystem.h +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <android-base/thread_annotations.h> #include <map> #include <set> #include <span> namespace android::hardware::radio::minimal::sim { Loading @@ -38,6 +39,7 @@ class Filesystem { private: mutable std::mutex mFilesGuard; std::map<Path, std::vector<uint8_t>> mFiles GUARDED_BY(mFilesGuard); std::set<int32_t> mUpdates GUARDED_BY(mFilesGuard); DISALLOW_COPY_AND_ASSIGN(Filesystem); Loading @@ -53,6 +55,8 @@ class Filesystem { std::optional<std::string> readBch(const Path& path) const; std::optional<Path> find(uint16_t fileId); std::set<int32_t> fetchAndClearUpdates(); }; namespace paths { Loading radio/aidl/minradio/libminradio/sim/Filesystem.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -47,11 +47,13 @@ Filesystem::Filesystem() { void Filesystem::write(const Path& path, FileView contents) { std::unique_lock lck(mFilesGuard); mFiles[path].assign(contents.begin(), contents.end()); // C++23: assign_range mUpdates.insert(path.fileId); } void Filesystem::write(const Path& path, std::string_view contents) { std::unique_lock lck(mFilesGuard); mFiles[path].assign(contents.begin(), contents.end()); // C++23: assign_range mUpdates.insert(path.fileId); } void Filesystem::write(const Path& path, std::vector<uint8_t>&& contents) { Loading Loading @@ -84,6 +86,13 @@ std::optional<Filesystem::Path> Filesystem::find(uint16_t fileId) { return std::nullopt; } std::set<int32_t> Filesystem::fetchAndClearUpdates() { std::unique_lock lck(mFilesGuard); std::set<int32_t> result; std::swap(result, mUpdates); return result; } std::string Filesystem::Path::toString() const { return std::format("{:s}/{:X}", pathId, fileId); } Loading Loading
radio/aidl/minradio/libminradio/include/libminradio/sim/Filesystem.h +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <android-base/thread_annotations.h> #include <map> #include <set> #include <span> namespace android::hardware::radio::minimal::sim { Loading @@ -38,6 +39,7 @@ class Filesystem { private: mutable std::mutex mFilesGuard; std::map<Path, std::vector<uint8_t>> mFiles GUARDED_BY(mFilesGuard); std::set<int32_t> mUpdates GUARDED_BY(mFilesGuard); DISALLOW_COPY_AND_ASSIGN(Filesystem); Loading @@ -53,6 +55,8 @@ class Filesystem { std::optional<std::string> readBch(const Path& path) const; std::optional<Path> find(uint16_t fileId); std::set<int32_t> fetchAndClearUpdates(); }; namespace paths { Loading
radio/aidl/minradio/libminradio/sim/Filesystem.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -47,11 +47,13 @@ Filesystem::Filesystem() { void Filesystem::write(const Path& path, FileView contents) { std::unique_lock lck(mFilesGuard); mFiles[path].assign(contents.begin(), contents.end()); // C++23: assign_range mUpdates.insert(path.fileId); } void Filesystem::write(const Path& path, std::string_view contents) { std::unique_lock lck(mFilesGuard); mFiles[path].assign(contents.begin(), contents.end()); // C++23: assign_range mUpdates.insert(path.fileId); } void Filesystem::write(const Path& path, std::vector<uint8_t>&& contents) { Loading Loading @@ -84,6 +86,13 @@ std::optional<Filesystem::Path> Filesystem::find(uint16_t fileId) { return std::nullopt; } std::set<int32_t> Filesystem::fetchAndClearUpdates() { std::unique_lock lck(mFilesGuard); std::set<int32_t> result; std::swap(result, mUpdates); return result; } std::string Filesystem::Path::toString() const { return std::format("{:s}/{:X}", pathId, fileId); } Loading