diff options
author | Tianjie Xu <xunchang@google.com> | 2019-03-19 21:52:17 +0100 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-03-19 21:52:17 +0100 |
commit | 4aa4bf5e196602c2a852b813f02637b98362f1ba (patch) | |
tree | 874f99533dc317f106ba4da4e955713c5ff46051 /minadbd/fuse_adb_provider.h | |
parent | Merge "Skip calling verify_package_compatibility when resuming." (diff) | |
parent | Merge "Create a FuseDataProvider base class" (diff) | |
download | android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar.gz android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar.bz2 android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar.lz android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar.xz android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.tar.zst android_bootable_recovery-4aa4bf5e196602c2a852b813f02637b98362f1ba.zip |
Diffstat (limited to 'minadbd/fuse_adb_provider.h')
-rw-r--r-- | minadbd/fuse_adb_provider.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/minadbd/fuse_adb_provider.h b/minadbd/fuse_adb_provider.h index 36d86d539..e93aa0468 100644 --- a/minadbd/fuse_adb_provider.h +++ b/minadbd/fuse_adb_provider.h @@ -19,14 +19,22 @@ #include <stdint.h> -struct adb_data { - int sfd; // file descriptor for the adb channel +#include "android-base/unique_fd.h" - uint64_t file_size; - uint32_t block_size; +#include "fuse_provider.h" + +// This class reads data from adb server. +class FuseAdbDataProvider : public FuseDataProvider { + public: + FuseAdbDataProvider(android::base::unique_fd&& fd, uint64_t file_size, uint32_t block_size) + : FuseDataProvider(std::move(fd), file_size, block_size) {} + + bool ReadBlockAlignedData(uint8_t* buffer, uint32_t fetch_size, + uint32_t start_block) const override; + + void Close() override; }; -int read_block_adb(const adb_data& ad, uint32_t block, uint8_t* buffer, uint32_t fetch_size); -int run_adb_fuse(int sfd, uint64_t file_size, uint32_t block_size); +int run_adb_fuse(android::base::unique_fd&& sfd, uint64_t file_size, uint32_t block_size); #endif |