type citadeld, domain;
type citadeld_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(citadeld)

vndbinder_use(citadeld)
add_service(citadeld, citadeld_service)

allow citadeld citadel_device:chr_file rw_file_perms;

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

allow citadeld debugfs_ipc:dir search;

# 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)


