diff options
author | Yurii Zubrytskyi <zyy@google.com> | 2020-01-10 11:53:24 -0800 |
---|---|---|
committer | Yurii Zubrytskyi <zyy@google.com> | 2020-01-28 12:10:17 -0800 |
commit | 4a25dfb2de3cf0f6dd81f4add3fd905db0834a38 (patch) | |
tree | fb36a044655007025be9e3fa8fb189281ac9698c /services/incremental/ServiceWrappers.cpp | |
parent | 092993a72d710b7f5cb0f53aed736fd2675345e3 (diff) |
Port the current code to new IncFS
Bug: 146080380
Test: manual, "cmd incremental install-start"
Change-Id: I6761c3f0e58b6d4de1ae3c4b31c23204fba9f740
Diffstat (limited to 'services/incremental/ServiceWrappers.cpp')
-rw-r--r-- | services/incremental/ServiceWrappers.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/services/incremental/ServiceWrappers.cpp b/services/incremental/ServiceWrappers.cpp index a79b26ae4fb3..5d978a1cf741 100644 --- a/services/incremental/ServiceWrappers.cpp +++ b/services/incremental/ServiceWrappers.cpp @@ -16,14 +16,8 @@ #include "ServiceWrappers.h" -#include <android-base/strings.h> -#include <android-base/unique_fd.h> -#include <binder/IServiceManager.h> #include <utils/String16.h> -#include <string> -#include <string_view> - using namespace std::literals; namespace android::os::incremental { @@ -31,37 +25,38 @@ namespace android::os::incremental { static constexpr auto kVoldServiceName = "vold"sv; static constexpr auto kIncrementalManagerName = "incremental"sv; -RealServiceManager::RealServiceManager(const sp<IServiceManager>& serviceManager) - : mServiceManager(serviceManager) {} +RealServiceManager::RealServiceManager(sp<IServiceManager> serviceManager) + : mServiceManager(std::move(serviceManager)) {} template <class INTERFACE> sp<INTERFACE> RealServiceManager::getRealService(std::string_view serviceName) const { - sp<IBinder> binder = mServiceManager->getService(String16(serviceName.data())); - if (binder == 0) { - return 0; + sp<IBinder> binder = + mServiceManager->getService(String16(serviceName.data(), serviceName.size())); + if (!binder) { + return nullptr; } return interface_cast<INTERFACE>(binder); } -std::shared_ptr<VoldServiceWrapper> RealServiceManager::getVoldService() const { +std::unique_ptr<VoldServiceWrapper> RealServiceManager::getVoldService() { sp<os::IVold> vold = RealServiceManager::getRealService<os::IVold>(kVoldServiceName); if (vold != 0) { - return std::make_shared<RealVoldService>(vold); + return std::make_unique<RealVoldService>(vold); } return nullptr; } -std::shared_ptr<IncrementalManagerWrapper> RealServiceManager::getIncrementalManager() const { +std::unique_ptr<IncrementalManagerWrapper> RealServiceManager::getIncrementalManager() { sp<IIncrementalManager> manager = RealServiceManager::getRealService<IIncrementalManager>(kIncrementalManagerName); - if (manager != 0) { - return std::make_shared<RealIncrementalManager>(manager); + if (manager) { + return std::make_unique<RealIncrementalManager>(manager); } return nullptr; } -std::shared_ptr<IncFsWrapper> RealServiceManager::getIncFs() const { - return std::make_shared<RealIncFs>(); +std::unique_ptr<IncFsWrapper> RealServiceManager::getIncFs() { + return std::make_unique<RealIncFs>(); } } // namespace android::os::incremental |