# evs_mock mock hardware driver service
type hal_evs_driver, domain, coredomain;
hal_server_domain(hal_evs_driver, hal_evs)

# allow init to launch processes in this context
type hal_evs_driver_exec, exec_type, file_type;
init_daemon_domain(hal_evs_driver)

# Allow use of USB devices, gralloc buffers, and surface flinger
allow hal_evs_driver device:dir { open read };
allow hal_evs_driver video_device:chr_file { ioctl open read write };
hal_client_domain(hal_evs_driver, hal_graphics_allocator);

allow hal_evs_driver gpu_device:chr_file { getattr ioctl open read write };
binder_call(hal_evs_driver, surfaceflinger);
allow hal_evs_driver surfaceflinger_service:service_manager find;
allow hal_evs_driver hal_graphics_composer_default:fd use;
allow hal_evs_driver hal_graphics_allocator_default_tmpfs:file { read write };
allow hal_evs_driver self:capability dac_override;
allow hal_evs_driver servicemanager:binder call;
