org.freedesktop.NetworkManager.VPN.Plugin.xml 6.56 KB
Newer Older
1
2
<?xml version="1.0" encoding="UTF-8"?>
<node name="/">
3

4
5
  <!--
      org.freedesktop.NetworkManager.VPN.Plugin:
6
      @short_description: VPN Service
7
8
9
10

      This interface is provided by plugins providing VPN services to the
      NetworkManager daemon.
  -->
11
  <interface name="org.freedesktop.NetworkManager.VPN.Plugin">
Dan Winship's avatar
Dan Winship committed
12
13
    <annotation name="org.gtk.GDBus.C.Name" value="VpnPlugin"/>

14
15
16
    <!--
        Connect:
        @connection: Describes the connection to be established.
17

18
        Tells the plugin to connect. Interactive secrets requests (eg, emitting
19
        the SecretsRequired signal) are not allowed.
20
21
    -->
    <method name="Connect">
22
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
23
      <arg name="connection" type="a{sa{sv}}" direction="in"/>
24
25
    </method>

26
27
28
29
30
31
32
33
34
    <!--
        ConnectInteractive:
        @connection: Describes the connection to be established.
        @details: Additional details about the Connect process.

        Tells the plugin to connect, allowing interactive secrets requests (eg the
        plugin is allowed to emit the SecretsRequired signal if the VPN service
        indicates that it needs additional secrets during the connect process).
    -->
35
36
    <method name="ConnectInteractive">
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect_interactive"/>
37
38
      <arg name="connection" type="a{sa{sv}}" direction="in"/>
      <arg name="details" type="a{sv}" direction="in"/>
39
40
    </method>

41
42
43
44
45
46
47
48
    <!--
        NeedSecrets:
        @settings: Describes the connection that may need secrets.
        @setting_name: The setting name within the provided connection that requires secrets, if any.

        Asks the plugin whether the provided connection will require secrets to
        connect successfully.
    -->
49
50
    <method name="NeedSecrets">
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
51
52
      <arg name="settings" type="a{sa{sv}}" direction="in"/>
      <arg name="setting_name" type="s" direction="out"/>
53
54
    </method>

55
56
57
    <!--
        Disconnect:

58
        Disconnect the plugin.
59
60
    -->
    <method name="Disconnect">
61
62
63
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
    </method>

64
65
66
67
    <!--
        SetConfig:
        @config: Generic configuration details for the connection.

Dan Winship's avatar
Dan Winship committed
68
        Set generic connection details on the connection.
69
70
    -->
    <method name="SetConfig">
Dan Winship's avatar
Dan Winship committed
71
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_config"/>
72
      <arg name="config" type="a{sv}" direction="in"/>
Dan Winship's avatar
Dan Winship committed
73
74
    </method>

75
76
77
78
    <!--
        SetIp4Config:
        @config: Ip4Config details for the connection. You must call SetConfig() before calling this.

79
        Set IPv4 details on the connection.
80
81
    -->
    <method name="SetIp4Config">
82
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
83
      <arg name="config" type="a{sv}" direction="in"/>
Dan Winship's avatar
Dan Winship committed
84
85
    </method>

86
87
88
89
    <!--
        SetIp6Config:
        @config: Ip6Config details for the connection. You must call SetConfig() before calling this.

Dan Winship's avatar
Dan Winship committed
90
        Set IPv6 details on the connection.
91
92
    -->
    <method name="SetIp6Config">
Dan Winship's avatar
Dan Winship committed
93
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip6_config"/>
94
      <arg name="config" type="a{sv}" direction="in"/>
95
96
    </method>

97
98
99
100
    <!--
        SetFailure:
        @reason: The reason for the failure.

101
        Indicate a failure to the plugin.
102
103
    -->
    <method name="SetFailure">
104
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
105
      <arg name="reason" type="s" direction="in"/>
106
107
    </method>

108
109
110
    <!--
        State:

111
        The state of the plugin.
112

113
        Returns: <link linkend="NMVpnServiceState">NMVpnServiceState</link>
114
115
116
117
118
    -->
    <property name="State" type="u" access="read"/>

    <!--
        StateChanged:
119
        @state: (<link linkend="NMVpnServiceState">NMVpnServiceState</link>) The new state of the plugin.
120

121
        Emitted when the plugin state changes.
122
123
124
    -->
    <signal name="StateChanged">
      <arg name="state" type="u"/>
125
126
    </signal>

127
128
129
130
131
132
133
134
135
    <!--
        SecretsRequired:
        @message: Informational message, if any, about the request. For example, if a second PIN is required, could indicate to the user to wait for the token code to change until entering the next PIN.
        @secrets: Array of strings of VPN secret names which the plugin thinks secrets may be required for, or other VPN-specific data to be processed by the VPN's front-end.

        Emitted during an ongoing ConnectInteractive() request when the plugin has
        determined that new secrets are required. NetworkManager will then call
        the NewSecrets() method with a connection hash including the new secrets.
    -->
136
    <signal name="SecretsRequired">
137
138
      <arg name="message" type="s" direction="out"/>
      <arg name="secrets" type="as" direction="out"/>
139
140
    </signal>

141
142
143
144
    <!--
        NewSecrets:
        @connection: Describes the connection including the new secrets.

145
146
        Called in response to a SecretsRequired signal to deliver updated secrets
        or other information to the plugin.
147
148
    -->
    <method name="NewSecrets">
149
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_new_secrets"/>
150
      <arg name="connection" type="a{sa{sv}}" direction="in"/>
151
152
    </method>

153
154
155
156
    <!--
        Config:
        @config: The configuration information.

Dan Winship's avatar
Dan Winship committed
157
        The plugin obtained generic configuration information.
158
159
160
    -->
    <signal name="Config">
      <arg name="config" type="a{sv}"/>
Dan Winship's avatar
Dan Winship committed
161
162
    </signal>

163
164
165
166
    <!--
        Ip4Config:
        @ip4config: The IPv4 configuration.

167
        The plugin obtained an IPv4 configuration.
168
169
170
    -->
    <signal name="Ip4Config">
      <arg name="ip4config" type="a{sv}"/>
171
172
    </signal>

173
174
175
176
    <!--
        Ip6Config:
        @ip6config: The IPv6 configuration.

Dan Winship's avatar
Dan Winship committed
177
        The plugin obtained an IPv6 configuration.
178
179
180
    -->
    <signal name="Ip6Config">
      <arg name="ip6config" type="a{sv}"/>
Dan Winship's avatar
Dan Winship committed
181
182
    </signal>

183
184
185
186
    <!--
        LoginBanner:
        @banner: The login banner string.

187
        Emitted when the plugin receives a login banner from the VPN service.
188
189
190
    -->
    <signal name="LoginBanner">
      <arg name="banner" type="s"/>
191
192
    </signal>

193
194
    <!--
        Failure:
195
        @reason: (<link linkend="NMVpnPluginFailure">NMVpnPluginFailure</link>) Reason code for the failure.
196

197
        Emitted when a failure in the VPN plugin occurs.
198
199
200
    -->
    <signal name="Failure">
      <arg name="reason" type="u"/>
201
202
203
    </signal>
  </interface>
</node>