summaryrefslogtreecommitdiff
path: root/data/org.freedesktop.PolicyKit1.Authority.xml
blob: 6ebba5bb82b8bfb4d0918f7c5beff36b183bf697 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>

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

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

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

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

  </annotation>

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

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

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

  </annotation>

  <!-- AuthorizationClaim struct -->
  <annotation name="org.gtk.EggDBus.DeclareStruct" value="AuthorizationClaim">
    <annotation name="org.gtk.EggDBus.Struct.Member"  value="(sa{sv}):subject">
      <annotation name="org.gtk.EggDBus.DocString" value="Subject the claim is for"/>
    </annotation>

    <annotation name="org.gtk.EggDBus.Struct.Member"  value="s:action_id">
      <annotation name="org.gtk.EggDBus.DocString" value="Action Identifier for the claim"/>
    </annotation>
  </annotation>

  <!-- The error domain used for reporting errors -->
  <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>
  </annotation>

  <!-- An enumeration for results of CheckClaim() (TODO: implement this method) -->
  <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>


  <interface name="org.freedesktop.PolicyKit1.Authority">

    <method name="EnumerateUsers">
      <arg name="users" direction="out" type="a(sa{sv})"/>
    </method>

    <method name="EnumerateGroups">
      <arg name="groups" direction="out" type="a(sa{sv})"/>
    </method>

    <method name="EnumerateActions">
      <arg name="locale" direction="in" type="s"/>
      <arg name="action_descriptions" direction="out" type="a(ssssssa{ss})"/>
    </method>

    <method name="CheckClaim">
      <arg name="claim" direction="in" type="((sa{sv})s)">
        <annotation name="org.gtk.EggDBus.StructType" value="AuthorizationClaim"/>
      </arg>
      <arg name="result" direction="out" type="i">
        <annotation name="org.gtk.EggDBus.EnumType" value="AuthorizationResult"/>
      </arg>
    </method>

  </interface>
</node>