type vr_hwc, domain;
type vr_hwc_exec, exec_type, file_type;

# Get buffer metadata.
hal_client_domain(vr_hwc, hal_graphics_allocator)

binder_use(vr_hwc)
binder_service(vr_hwc)

binder_call(vr_hwc, surfaceflinger)
# Needed to check for app permissions.
binder_call(vr_hwc, system_server)

add_service(vr_hwc, vr_hwc_service)

# Hosts the VR HWC implementation and provides a simple Binder interface for VR
# Window Manager to receive the layers/buffers.
hwbinder_use(vr_hwc)

# Load vendor libraries.
allow vr_hwc system_file:dir r_dir_perms;

allow vr_hwc ion_device:chr_file r_file_perms;

# Allow connection to VR DisplayClient to get the primary display metadata
# (ie: size).
pdx_client(vr_hwc, display_client)

# Requires access to the permission service to validate that clients have the
# appropriate VR permissions.
allow vr_hwc permission_service:service_manager find;
