type citadeld, domain;
type citadeld_exec, exec_type, vendor_file_type, file_type;

vndbinder_use(citadeld)
add_service(citadeld, citadeld_service)

allow citadeld citadel_device:chr_file rw_file_perms;

init_daemon_domain(citadeld)

binder_call(citadeld, hal_power_stats_default)
allow citadeld hal_power_stats_vendor_service:service_manager find;

# Let citadeld find and use statsd.
hwbinder_use(citadeld)
get_prop(citadeld, hwservicemanager_prop)
allow citadeld fwk_stats_hwservice:hwservice_manager find;
binder_call(citadeld, stats_service_server)
allow citadeld fwk_stats_service:service_manager find;
binder_use(citadeld)
