diff options
Diffstat (limited to 'gsi_service.cpp')
-rw-r--r-- | gsi_service.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gsi_service.cpp b/gsi_service.cpp index c7b3a28..122bbf6 100644 --- a/gsi_service.cpp +++ b/gsi_service.cpp @@ -594,6 +594,7 @@ class ImageService : public BinderService<ImageService>, public BnImageService { binder::Status removeAllImages() override; binder::Status removeDisabledImages() override; binder::Status getMappedImageDevice(const std::string& name, std::string* device) override; + binder::Status isImageDisabled(const std::string& name, bool* _aidl_return) override; private: bool CheckUid(); @@ -764,6 +765,14 @@ binder::Status ImageService::removeDisabledImages() { return binder::Status::ok(); } +binder::Status ImageService::isImageDisabled(const std::string& name, bool* _aidl_return) { + if (!CheckUid()) return UidSecurityError(); + + std::lock_guard<std::mutex> guard(service_->lock()); + *_aidl_return = impl_->IsImageDisabled(name); + return binder::Status::ok(); +} + binder::Status ImageService::getMappedImageDevice(const std::string& name, std::string* device) { if (!CheckUid()) return UidSecurityError(); |