org.freedesktop.PolicyKit1.Authority.xml 7.08 KB
Newer Older
David Zeuthen's avatar
David Zeuthen committed
1 2 3 4
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>

5
  <!-- Subject struct -->
6
  <annotation name="org.gtk.EggDBus.DeclareStruct" value="Subject">
7

8 9 10
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:subject_kind">
      <annotation name="org.gtk.EggDBus.DocString" value="Kind of subject"/>
    </annotation>
11

12 13 14
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="a{sv}:subject_details">
      <annotation name="org.gtk.EggDBus.DocString" value="Details about the subject"/>
    </annotation>
15

16
    <!-- TODO: document values in hash map for each subject type-->
17

18 19
  </annotation>

20
  <!-- ActionDescription struct -->
21 22
  <annotation name="org.gtk.EggDBus.DeclareStruct" value="ActionDescription">

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:action_id">
      <annotation name="org.gtk.EggDBus.DocString" value="Action Identifier"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:description">
      <annotation name="org.gtk.EggDBus.DocString" value="Action Description"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:message">
      <annotation name="org.gtk.EggDBus.DocString" value="Action Message"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:vendor_name">
      <annotation name="org.gtk.EggDBus.DocString" value="Vendor Name"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:vendor_url">
      <annotation name="org.gtk.EggDBus.DocString" value="Vendor URL"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:icon_name">
      <annotation name="org.gtk.EggDBus.DocString" value="Icon Name"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="a{ss}:annotations">
      <annotation name="org.gtk.EggDBus.DocString" value="Annotations"/>
    </annotation>
44 45 46 47 48 49

    <!-- TODO: also include defaults -->

  </annotation>

  <!-- The error domain used for reporting errors -->
50 51 52 53 54 55 56
  <annotation name="org.gtk.EggDBus.DeclareErrorDomain" value="Error">
    <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Failed">
      <annotation name="org.gtk.EggDBus.DocString" value="The operation failed"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotSupported">
      <annotation name="org.gtk.EggDBus.DocString" value="Operation is not supported"/>
    </annotation>
57 58 59
    <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotAuthorized">
      <annotation name="org.gtk.EggDBus.DocString" value="Not authorized to perform operation"/>
    </annotation>
David Zeuthen's avatar
David Zeuthen committed
60
  </annotation>
David Zeuthen's avatar
David Zeuthen committed
61

62
  <!-- An enumeration for results when checking for an authorization -->
63 64 65 66 67 68 69 70 71 72 73 74
  <annotation name="org.gtk.EggDBus.DeclareEnum" value="AuthorizationResult">
    <annotation name="org.gtk.EggDBus.Enum.Member" value="NotAuthorized">
      <annotation name="org.gtk.EggDBus.DocString" value="The subject is not authorized for the specified action"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Enum.Member" value="Authorized">
      <annotation name="org.gtk.EggDBus.DocString" value="The subject is authorized for the specified action"/>
    </annotation>
    <annotation name="org.gtk.EggDBus.Enum.Member" value="Challenge">
      <annotation name="org.gtk.EggDBus.DocString" value="The subject is authorized if more information is provided"/>
    </annotation>
  </annotation>

75 76 77 78 79 80 81 82 83 84
  <!-- Flags used for checking authorizations -->
  <annotation name="org.gtk.EggDBus.DeclareFlags" value="CheckAuthorizationFlags">
    <annotation name="org.gtk.EggDBus.Flags.Member" value="AllowUserInteraction">
      <annotation name="org.gtk.EggDBus.DocString" value="If the subject can obtain the authorization through authentication, and an authentication agent is available, then attempt to do so. Note, this means that the #CheckAuthorization() method is likely to block for a long time."/>
    </annotation>
  </annotation>

  <!-- Authorization struct -->
  <annotation name="org.gtk.EggDBus.DeclareStruct" value="Authorization">
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:action_id">
85
      <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action the authorization is for"/>
86 87
    </annotation>

88 89 90 91 92 93 94
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="(sa{sv}):subject">
      <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      <annotation name="org.gtk.EggDBus.DocString" value="Subject that the authorization applies to"/>
    </annotation>

    <annotation name="org.gtk.EggDBus.Struct.Member"  value="b:is_negative">
      <annotation name="org.gtk.EggDBus.DocString" value="Whether the authorization is negative"/>
95 96
    </annotation>
  </annotation>
97

David Zeuthen's avatar
David Zeuthen committed
98 99
  <interface name="org.freedesktop.PolicyKit1.Authority">

David Zeuthen's avatar
David Zeuthen committed
100
    <method name="EnumerateUsers">
101 102 103
      <arg name="users" direction="out" type="a(sa{sv})">
        <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      </arg>
David Zeuthen's avatar
David Zeuthen committed
104 105
    </method>

106
    <method name="EnumerateGroups">
107 108 109 110 111 112 113 114 115
      <arg name="groups" direction="out" type="a(sa{sv})">
        <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      </arg>
    </method>

    <method name="EnumerateSessions">
      <arg name="sessions" direction="out" type="a(sa{sv})">
        <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      </arg>
116 117
    </method>

118 119
    <method name="EnumerateActions">
      <arg name="locale" direction="in" type="s"/>
120 121 122
      <arg name="action_descriptions" direction="out" type="a(ssssssa{ss})">
        <annotation name="org.gtk.EggDBus.StructType" value="ActionDescription"/>
      </arg>
123 124
    </method>

125 126 127 128 129 130 131
    <method name="CheckAuthorization">
      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      </arg>
      <arg name="action_id" direction="in" type="s"/>
      <arg name="flags" direction="in" type="i">
        <annotation name="org.gtk.EggDBus.FlagsType" value="CheckAuthorizationFlags"/>
132
      </arg>
133

134 135 136 137 138
      <arg name="result" direction="out" type="i">
        <annotation name="org.gtk.EggDBus.EnumType" value="AuthorizationResult"/>
      </arg>
    </method>

139 140 141
    <method name="AddAuthorization">
      <arg name="authorization" direction="in" type="(s(sa{sv})b)">
        <annotation name="org.gtk.EggDBus.StructType" value="Authorization"/>
142 143 144
      </arg>
    </method>

145 146 147
    <method name="RemoveAuthorization">
      <arg name="authorization" direction="in" type="(s(sa{sv})b)">
        <annotation name="org.gtk.EggDBus.StructType" value="Authorization"/>
148 149 150 151 152 153 154
      </arg>
    </method>

    <method name="EnumerateAuthorizations">
      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.StructType" value="Subject"/>
      </arg>
155
      <arg name="authorizations" direction="out" type="a(s(sa{sv})b)">
156 157 158 159 160
        <annotation name="org.gtk.EggDBus.StructType" value="Authorization"/>
      </arg>
    </method>


David Zeuthen's avatar
David Zeuthen committed
161 162
  </interface>
</node>