Export IsImageMapped to IImageService and IImageManager.
Bug: 134536978
Test: libsnapshot_test gtest
Change-Id: I71f493490c6b5468344cc3f9883538bb9e617b4b
diff --git a/gsi_service.cpp b/gsi_service.cpp
index 352b2c2..4835d1f 100644
--- a/gsi_service.cpp
+++ b/gsi_service.cpp
@@ -405,6 +405,7 @@
MappedImage* mapping) override;
binder::Status unmapImageDevice(const std::string& name) override;
binder::Status backingImageExists(const std::string& name, bool* _aidl_return) override;
+ binder::Status isImageMapped(const std::string& name, bool* _aidl_return) override;
private:
bool CheckUid();
@@ -472,7 +473,16 @@
return binder::Status::ok();
}
-bool ImageManagerService::CheckUid() {
+binder::Status ImageService::isImageMapped(const std::string& name, bool* _aidl_return) {
+ if (!CheckUid()) return UidSecurityError();
+
+ std::lock_guard<std::mutex> guard(parent_->lock());
+
+ *_aidl_return = impl_->IsImageMapped(name);
+ return binder::Status::ok();
+}
+
+bool ImageService::CheckUid() {
return uid_ == IPCThreadState::self()->getCallingUid();
}