type bluetooth_loader, domain;
type bluetooth_loader_exec, exec_type, file_type;

# Started by init
init_daemon_domain(bluetooth_loader)

unix_socket_connect(bluetooth_loader, property, init)
allow bluetooth_loader bluetooth_prop:property_service set;
