<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <!-- Only root can own the service -->
  <policy user="root">
    <allow own="org.trinitydesktop.hardwarecontrol"/>
  </policy>

  <policy at_console="true">
  <!-- Users with physical access to the machine are allowed access -->
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.freedesktop.DBus.Introspectable"/>

    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.freedesktop.DBus.Properties"/>

    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.Brightness"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.CPUGovernor"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.InputEvents"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.Power"/>
  </policy>

  <policy group="plugdev">
  <!-- Users who are members of the plugdev group are allowed access -->
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.freedesktop.DBus.Introspectable"/>

    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.freedesktop.DBus.Properties"/>

    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.Brightness"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.CPUGovernor"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.InputEvents"/>
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.Power"/>
  </policy>

  <policy context="default">
    <!-- Everyone else is denied access -->
    <deny own="org.trinitydesktop.hardwarecontrol"/>

    <deny send_destination="org.trinitydesktop.hardwarecontrol"/>

    <!-- Allow to read input switches -->
    <allow send_destination="org.trinitydesktop.hardwarecontrol"
           send_interface="org.trinitydesktop.hardwarecontrol.InputEvents"/>
  </policy>
</busconfig>
