From 5e6832a24d39f15261be0cad19708274db57a126 Mon Sep 17 00:00:00 2001 From: xunchang Date: Fri, 15 Mar 2019 16:04:32 -0700 Subject: Remove the provider_vtab It's no longer needed with the newly added FuseDataProvider class. Also cleans up the parameters for run_fuse_sideload. Bug: 127071893 Test: unit tests pass, run a sideload Change-Id: I1ccd6798d187cfc6ac9f559ffb3f3edf08dad55c --- minadbd/fuse_adb_provider.cpp | 15 --------------- minadbd/fuse_adb_provider.h | 2 -- minadbd/minadbd_services.cpp | 6 +++++- 3 files changed, 5 insertions(+), 18 deletions(-) (limited to 'minadbd') diff --git a/minadbd/fuse_adb_provider.cpp b/minadbd/fuse_adb_provider.cpp index cada4bd2a..9d19a1ec3 100644 --- a/minadbd/fuse_adb_provider.cpp +++ b/minadbd/fuse_adb_provider.cpp @@ -18,14 +18,10 @@ #include #include -#include #include -#include - #include "adb.h" #include "adb_io.h" -#include "fuse_sideload.h" bool FuseAdbDataProvider::ReadBlockAlignedData(uint8_t* buffer, uint32_t fetch_size, uint32_t start_block) const { @@ -45,14 +41,3 @@ bool FuseAdbDataProvider::ReadBlockAlignedData(uint8_t* buffer, uint32_t fetch_s void FuseAdbDataProvider::Close() { WriteFdExactly(fd_, "DONEDONE"); } - -int run_adb_fuse(android::base::unique_fd&& sfd, uint64_t file_size, uint32_t block_size) { - FuseAdbDataProvider adb_data_reader(std::move(sfd), file_size, block_size); - - provider_vtab vtab; - vtab.read_block = std::bind(&FuseAdbDataProvider::ReadBlockAlignedData, &adb_data_reader, - std::placeholders::_2, std::placeholders::_3, std::placeholders::_1); - vtab.close = [&adb_data_reader]() { adb_data_reader.Close(); }; - - return run_fuse_sideload(vtab, file_size, block_size); -} diff --git a/minadbd/fuse_adb_provider.h b/minadbd/fuse_adb_provider.h index e93aa0468..3fb689bd4 100644 --- a/minadbd/fuse_adb_provider.h +++ b/minadbd/fuse_adb_provider.h @@ -35,6 +35,4 @@ class FuseAdbDataProvider : public FuseDataProvider { void Close() override; }; -int run_adb_fuse(android::base::unique_fd&& sfd, uint64_t file_size, uint32_t block_size); - #endif diff --git a/minadbd/minadbd_services.cpp b/minadbd/minadbd_services.cpp index 3e1128546..6fe5c79bc 100644 --- a/minadbd/minadbd_services.cpp +++ b/minadbd/minadbd_services.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -30,6 +31,7 @@ #include "adb_unique_fd.h" #include "fdevent.h" #include "fuse_adb_provider.h" +#include "fuse_sideload.h" #include "services.h" #include "sysdeps.h" @@ -44,7 +46,9 @@ static void sideload_host_service(unique_fd sfd, const std::string& args) { printf("sideload-host file size %" PRId64 " block size %d\n", file_size, block_size); - int result = run_adb_fuse(std::move(sfd), file_size, block_size); + auto adb_data_reader = + std::make_unique(std::move(sfd), file_size, block_size); + int result = run_fuse_sideload(std::move(adb_data_reader)); printf("sideload_host finished\n"); exit(result == 0 ? 0 : 1); -- cgit v1.2.3