# This daemon loads the Context Hub Runtime Environment (CHRE) dynamic modules
# onto the SLPI using FastRPC, and exposes a sockets interface for clients on
# the applications processor to interact CHRE
type chre, domain;
type chre_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(chre)

allow chre system_file:dir read;

allow chre ion_device:chr_file r_file_perms;
allow chre qdsp_device:chr_file r_file_perms;
allow chre dsp_device:chr_file r_file_perms;

r_dir_file(chre, adsprpcd_file)

# Allow CHRE to obtain wakelock
wakelock_use(chre)

# To communicate with ST HAL
hal_client_domain(chre, hal_audio)
