diff options
| -rw-r--r-- | libs/binder/ndk/include_ndk/android/binder_interface_utils.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/binder/ndk/include_ndk/android/binder_interface_utils.h b/libs/binder/ndk/include_ndk/android/binder_interface_utils.h index f5c8bce8ae..a133d490a4 100644 --- a/libs/binder/ndk/include_ndk/android/binder_interface_utils.h +++ b/libs/binder/ndk/include_ndk/android/binder_interface_utils.h @@ -69,6 +69,12 @@ public: // This either returns the single existing implementation or creates a new implementation. virtual SpAIBinder asBinder() = 0; + + /** + * Returns whether this interface is in a remote process. If it cannot be determined locally, + * this will be checked using AIBinder_isRemote. + */ + virtual bool isRemote() = 0; }; // wrapper analog to BnInterface @@ -80,6 +86,8 @@ public: SpAIBinder asBinder() override; + bool isRemote() override { return true; } + protected: // This function should only be called by asBinder. Otherwise, there is a possibility of // multiple AIBinder* objects being created for the same instance of an object. @@ -99,6 +107,8 @@ public: SpAIBinder asBinder() override; + bool isRemote() override { return AIBinder_isRemote(mBinder.get()); } + private: SpAIBinder mBinder; }; |