| #ifndef ANDROID_DVR_TRUSTED_UIDS_H_ |
| #define ANDROID_DVR_TRUSTED_UIDS_H_ |
| |
| #include <sys/types.h> |
| |
| namespace android { |
| namespace dvr { |
| |
| /** |
| * Tells if a provided UID can be trusted to access restricted VR APIs. |
| * |
| * UID trust is based on the android.permission.RESTRICTED_VR_ACCESS permission. |
| * AID_SYSTEM and AID_ROOT are automatically trusted by Android. |
| * |
| * UIDs are guaranteed not to be reused until the next reboot even in case |
| * of package reinstall. For performance reasons this method caches results by |
| * default, as otherwise every check would trigger a Java call. |
| * |
| * This function is thread-safe. |
| * |
| * @param uid The uid to check. |
| * @param use_cache If true any cached result for the provided uid will be |
| * reused. If false this call will reach the Application Manager Service |
| * in Java to get updated values. Any updates will be stored in the cache. |
| * @return true if the uid is trusted, false if not or if the VR Manager Service |
| * could not be reached to verify the uid. |
| */ |
| bool IsTrustedUid(uid_t uid, bool use_cache = true); |
| |
| } // namespace dvr |
| } // namespace android |
| |
| #endif // ANDROID_DVR_TRUSTED_UIDS_H_ |