dbus: use the annotations for documentation
[NetworkManager.git] / introspection / nm-manager.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <node name="/org/freedesktop/NetworkManager" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
4   <interface name="org.freedesktop.NetworkManager">
5     <annotation name="org.gtk.GDBus.C.Name" value="Manager"/>
6
7     <method name="GetDevices">
8       <annotation name="org.gtk.GDBus.DocString" value="
9         Get the list of realized network devices.
10       " />
11       <arg name="devices" type="ao" direction="out">
12         <annotation name="org.gtk.GDBus.DocString" value="
13           List of object paths of network devices known to the system.  This
14           list does not include device placeholders (see GetAllDevices()).
15         " />
16       </arg>
17     </method>
18
19     <method name="GetAllDevices">
20       <annotation name="org.gtk.GDBus.DocString" value="
21         Get the list of all network devices.
22       " />
23       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_all_devices"/>
24       <arg name="devices" type="ao" direction="out">
25         <annotation name="org.gtk.GDBus.DocString" value="
26           List of object paths of network devices and device placeholders
27           (eg, devices that do not yet exist but which can be automatically
28           created by NetworkManager if one of their AvailableConnections
29           was activated).
30         " />
31       </arg>
32     </method>
33
34     <method name="GetDeviceByIpIface">
35       <annotation name="org.gtk.GDBus.DocString" value="
36         Return the object path of the network device referenced by its IP
37         interface name.  Note that some devices (usually modems) only have an
38         IP interface name when they are connected.
39       " />
40       <arg name="iface" type="s" direction="in">
41         <annotation name="org.gtk.GDBus.DocString" value="
42           Interface name of the device to find.
43         " />
44       </arg>
45       <arg name="device" type="o" direction="out">
46         <annotation name="org.gtk.GDBus.DocString" value="
47           Object path of the network device.
48         " />
49       </arg>
50     </method>
51
52     <method name="ActivateConnection">
53       <annotation name="org.gtk.GDBus.DocString" value="
54         Activate a connection using the supplied device.
55       " />
56       <arg name="connection" type="o" direction="in">
57         <annotation name="org.gtk.GDBus.DocString" value="
58           The connection to activate.  If &quot;/&quot; is given, a valid device path must
59           be given, and NetworkManager picks the best connection to activate for
60           the given device.  VPN connections must always pass a valid connection
61           path.
62         " />
63       </arg>
64       <arg name="device" type="o" direction="in">
65         <annotation name="org.gtk.GDBus.DocString" value="
66           The object path of device to be activated for physical connections.
67           This parameter is ignored for VPN connections, because the
68           specific_object (if provided) specifies the device to use.
69         " />
70       </arg>
71       <arg name="specific_object" type="o" direction="in">
72         <annotation name="org.gtk.GDBus.DocString" value="
73           The path of a connection-type-specific object this activation should use. 
74           This parameter is currently ignored for wired and mobile broadband connections,
75           and the value of &quot;/&quot; should be used (ie, no specific object).  For WiFi
76           connections, pass the object path of a specific AP from the card's scan
77           list, or &quot;/&quot; to pick an AP automatically.  For VPN connections, pass
78           the object path of an ActiveConnection object that should serve as the
79           &quot;base&quot; connection (to which the VPN connections lifetime will be tied),
80           or pass &quot;/&quot; and NM will automatically use the current default device.
81         " />
82       </arg>
83       <arg name="active_connection" type="o" direction="out">
84         <annotation name="org.gtk.GDBus.DocString" value="
85           The path of the active connection object representing this active connection.
86         " />
87       </arg>
88     </method>
89
90     <method name="AddAndActivateConnection">
91       <annotation name="org.gtk.GDBus.DocString" value="
92         Adds a new connection using the given details (if any) as a template
93         (automatically filling in missing settings with the capabilities of the
94         given device and specific object), then activate the new connection.
95         Cannot be used for VPN connections at this time.
96       " />
97       <arg name="connection" type="a{sa{sv}}" direction="in">
98         <annotation name="org.gtk.GDBus.DocString" value="
99           Connection settings and properties; if incomplete missing settings will
100           be automatically completed using the given device and specific object.
101         " />
102       </arg>
103       <arg name="device" type="o" direction="in">
104         <annotation name="org.gtk.GDBus.DocString" value="
105           The object path of device to be activated using the given connection.
106         " />
107       </arg>
108       <arg name="specific_object" type="o" direction="in">
109         <annotation name="org.gtk.GDBus.DocString" value="
110           The path of a connection-type-specific object this activation should use. 
111           This parameter is currently ignored for wired and mobile broadband connections,
112           and the value of &quot;/&quot; should be used (ie, no specific object).  For WiFi
113           connections, pass the object path of a specific AP from the card's scan
114           list, which will be used to complete the details of the newly added
115           connection.
116         " />
117       </arg>
118       <arg name="path" type="o" direction="out">
119         <annotation name="org.gtk.GDBus.DocString" value="
120           Object path of the new connection that was just added.
121         " />
122       </arg>
123       <arg name="active_connection" type="o" direction="out">
124         <annotation name="org.gtk.GDBus.DocString" value="
125           The path of the active connection object representing this active connection.
126         " />
127       </arg>
128     </method>
129
130     <method name="DeactivateConnection">
131       <annotation name="org.gtk.GDBus.DocString" value="
132         Deactivate an active connection.
133       " />
134       <arg name="active_connection" type="o" direction="in">
135         <annotation name="org.gtk.GDBus.DocString" value="
136           The currently active connection to deactivate.
137         " />
138       </arg>
139     </method>
140
141     <method name="Sleep">
142       <annotation name="org.gtk.GDBus.DocString" value="
143         Control the NetworkManager daemon's sleep state.  When asleep, all
144         interfaces that it manages are deactivated.  When awake, devices are
145         available to be activated.  This command should not be called directly
146         by users or clients; it is intended for system suspend/resume tracking.
147       " />
148       <arg name="sleep" type="b" direction="in">
149         <annotation name="org.gtk.GDBus.DocString" value="
150           Indicates whether the NetworkManager daemon should sleep or wake.
151         " />
152       </arg>
153     </method>
154
155     <method name="Enable">
156       <annotation name="org.gtk.GDBus.DocString" value="
157         Control whether overall networking is enabled or disabled.  When
158         disabled, all interfaces that NM manages are deactivated.  When enabled,
159         all managed interfaces are re-enabled and available to be activated.
160         This command should be used by clients that provide to users the ability
161         to enable/disable all networking.
162       " />
163       <arg name="enable" type="b" direction="in">
164         <annotation name="org.gtk.GDBus.DocString" value="
165           If FALSE, indicates that all networking should be disabled.  If TRUE,
166           indicates that NetworkManager should begin managing network devices.
167         " />
168       </arg>
169     </method>
170
171     <method name="GetPermissions">
172       <annotation name="org.gtk.GDBus.DocString" value="
173         Returns the permissions a caller has for various authenticated operations
174         that NetworkManager provides, like Enable/Disable networking, changing
175         WiFi, WWAN, and WiMAX state, etc.
176       " />
177       <arg name="permissions" type="a{ss}" direction="out">
178         <annotation name="org.gtk.GDBus.DocString" value="
179           Dictionary of available permissions and results.  Each permission
180           is represented by a name (ie &quot;org.freedesktop.NetworkManager.Foobar&quot;)
181           and each result is one of the following values: &quot;yes&quot; (the permission
182           is available), &quot;auth&quot; (the permission is available after a successful
183           authentication), or &quot;no&quot; (the permission is denied).  Clients may use
184           these values in the UI to indicate the ability to perform certain
185           operations.
186         " />
187       </arg>
188     </method>
189
190     <signal name="CheckPermissions">
191       <annotation name="org.gtk.GDBus.DocString" value="
192         Emitted when system authorization details change, indicating that
193         clients may wish to recheck permissions with GetPermissions.
194       " />
195     </signal>
196
197     <method name="SetLogging">
198       <annotation name="org.gtk.GDBus.DocString" value="
199         Set logging verbosity and which operations are logged.
200       " />
201       <arg name="level" type="s" direction="in">
202         <annotation name="org.gtk.GDBus.DocString" value="
203           One of [ERR, WARN, INFO, DEBUG, TRACE, OFF, KEEP].
204           This level is applied to the domains as specified in the domains
205           argument. Except for the special level &quot;KEEP&quot;, all unmentioned
206           domains are disabled entirely. &quot;KEEP&quot; is special and allows
207           not to change the current setting except for the specified
208           domains. E.g. level=KEEP and domains=PLATFORM:DEBUG will only
209           touch the platform domain.
210         " />
211       </arg>
212       <arg name="domains" type="s" direction="in">
213         <annotation name="org.gtk.GDBus.DocString" value="
214           A combination of logging domains separated by commas (','), or &quot;NONE&quot;
215           to disable logging.  Each domain enables logging for operations
216           related to that domain.  Available domains are: [PLATFORM, RFKILL, ETHER,
217           WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS,
218           VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE,
219           OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS,
220           TEAM, CONCHECK, DCB, DISPATCH, AUDIT].
221           In addition to these domains, the following special domains can be used:
222           [NONE, ALL, DEFAULT, DHCP, IP].  You can also specify that some domains
223           should log at a different level from the default by appending a colon (':')
224           and a log level (eg, 'WIFI:DEBUG').  If an empty string is given, the
225           log level is changed but the current set of log domains remains
226           unchanged.
227         " />
228       </arg>
229     </method>
230
231     <method name="GetLogging">
232       <annotation name="org.gtk.GDBus.DocString" value="
233         Get current logging verbosity level and operations domains.
234       " />
235       <arg name="level" type="s" direction="out">
236         <annotation name="org.gtk.GDBus.DocString" value="
237           One of [ERR, WARN, INFO, DEBUG, TRACE].
238         " />
239       </arg>
240       <arg name="domains" type="s" direction="out">
241         <annotation name="org.gtk.GDBus.DocString" value="
242           For available domains see SetLogging() call.
243         " />
244       </arg>
245     </method>
246
247     <method name="CheckConnectivity">
248       <annotation name="org.gtk.GDBus.DocString" value="
249         Re-check the network connectivity state.
250       " />
251       <arg name="connectivity" type="u" tp:type="NM_CONNECTIVITY" direction="out">
252         <annotation name="org.gtk.GDBus.DocString" value="
253           The current connectivity state.
254         " />
255       </arg>
256     </method>
257
258     <method name="state">
259       <annotation name="org.gtk.GDBus.DocString" value="
260         The overall networking state as determined by the NetworkManager daemon,
261         based on the state of network devices under it's management.
262       " />
263       <arg name="state" type="u" direction="out" tp:type="NM_STATE"/>
264     </method>
265
266     <property name="Devices" type="ao" access="read">
267       <annotation name="org.gtk.GDBus.DocString" value="
268         The list of realized network devices. Realized devices are those which
269         have backing resources (eg from the kernel or a management daemon like
270         ModemManager, teamd, etc).
271       " />
272     </property>
273
274     <property name="AllDevices" type="ao" access="read">
275       <annotation name="org.gtk.GDBus.DocString" value="
276         The list of both realized and un-realized network devices. Un-realized
277         devices are software devices which do not yet have backing resources,
278         but for which backing resources can be created if the device is
279         activated.
280       " />
281     </property>
282
283     <property name="NetworkingEnabled" type="b" access="read">
284       <annotation name="org.gtk.GDBus.DocString" value="
285         Indicates if overall networking is currently enabled or not.  See the
286         Enable() method.
287       " />
288     </property>
289
290     <property name="WirelessEnabled" type="b" access="readwrite">
291       <annotation name="org.gtk.GDBus.DocString" value="
292         Indicates if wireless is currently enabled or not.
293       " />
294     </property>
295
296     <property name="WirelessHardwareEnabled" type="b" access="read">
297       <annotation name="org.gtk.GDBus.DocString" value="
298         Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
299       " />
300     </property>
301
302     <property name="WwanEnabled" type="b" access="readwrite">
303       <annotation name="org.gtk.GDBus.DocString" value="
304         Indicates if mobile broadband devices are currently enabled or not.
305       " />
306     </property>
307
308     <property name="WwanHardwareEnabled" type="b" access="read">
309       <annotation name="org.gtk.GDBus.DocString" value="
310         Indicates if the mobile broadband hardware is currently enabled, i.e. the state of the RF kill switch.
311       " />
312     </property>
313
314     <property name="WimaxEnabled" type="b" access="readwrite">
315       <annotation name="org.gtk.GDBus.DocString" value="
316         Indicates if WiMAX devices are currently enabled or not.
317       " />
318     </property>
319
320     <property name="WimaxHardwareEnabled" type="b" access="read">
321       <annotation name="org.gtk.GDBus.DocString" value="
322         Indicates if the WiMAX hardware is currently enabled, i.e. the state of the RF kill switch.
323       " />
324     </property>
325
326     <property name="ActiveConnections" type="ao" access="read">
327       <annotation name="org.gtk.GDBus.DocString" value="
328         List of active connection object paths.
329       " />
330     </property>
331
332     <property name="PrimaryConnection" type="o" access="read">
333       <annotation name="org.gtk.GDBus.DocString" value="
334         The object path of the &quot;primary&quot; active connection being used
335         to access the network. In particular, if there is no VPN
336         active, or the VPN does not have the default route, then this
337         indicates the connection that has the default route. If there
338         is a VPN active with the default route, then this indicates
339         the connection that contains the route to the VPN endpoint.
340       " />
341     </property>
342
343     <property name="PrimaryConnectionType" type="s" access="read">
344       <annotation name="org.gtk.GDBus.DocString" value="
345         The connection type of the &quot;primary&quot; active connection being
346         used to access the network. This is the same as the Type
347         property on the object indicated by PrimaryConnection.
348       " />
349     </property>
350
351     <property name="Metered" type="u" access="read" tp:type="NM_METERED">
352       <annotation name="org.gtk.GDBus.DocString" value="
353         Indicates whether the connectivity is metered. This is equivalent
354         to the metered property of the device associated with the primary
355         connection.
356       " />
357     </property>
358
359     <property name="ActivatingConnection" type="o" access="read">
360       <annotation name="org.gtk.GDBus.DocString" value="
361         The object path of an active connection that is currently
362         being activated and which is expected to become the new
363         PrimaryConnection when it finishes activating.
364       " />
365     </property>
366
367     <property name="Startup" type="b" access="read">
368       <annotation name="org.gtk.GDBus.DocString" value="
369         Indicates whether NM is still starting up; this becomes FALSE
370         when NM has finished attempting to activate every connection
371         that it might be able to activate at startup.
372       " />
373     </property>
374
375     <property name="Version" type="s" access="read">
376       <annotation name="org.gtk.GDBus.DocString" value="
377         NetworkManager version.
378       " />
379     </property>
380
381     <property name="State" type="u" access="read" tp:type="NM_STATE">
382       <annotation name="org.gtk.GDBus.DocString" value="
383         The overall state of the NetworkManager daemon.
384       " />
385     </property>
386
387     <signal name="StateChanged">
388       <annotation name="org.gtk.GDBus.DocString" value="
389         NetworkManager's state changed.
390       " />
391       <arg name="state" type="u" tp:type="NM_STATE">
392         <annotation name="org.gtk.GDBus.DocString" value="
393           The new state of NetworkManager.
394         " />
395       </arg>
396     </signal>
397
398     <property name="Connectivity" type="u" access="read" tp:type="NM_CONNECTIVITY">
399       <annotation name="org.gtk.GDBus.DocString" value="
400         The network connectivity state.
401       " />
402     </property>
403
404     <property name="GlobalDnsConfiguration" type="a{sv}" access="readwrite">
405       <annotation name="org.gtk.GDBus.DocString" value="
406         Dictionary of global DNS settings where the key is one of
407         &quot;searches&quot;, &quot;options&quot; and &quot;domains&quot;.  The values for the
408         &quot;searches&quot; and &quot;options&quot; keys are string arrays describing the
409         list of search domains and resolver options, respectively.
410         The value of the &quot;domains&quot; key is a second-level dictionary,
411         where each key is a domain name, and each key's value is a
412         third-level dictionary with the keys &quot;servers&quot; and
413         &quot;options&quot;. &quot;servers&quot; is a string array of DNS servers,
414         &quot;options&quot; is a string array of domain-specific options.
415       " />
416     </property>
417
418     <signal name="PropertiesChanged">
419       <annotation name="org.gtk.GDBus.DocString" value="
420         NetworkManager's properties changed.
421       " />
422       <arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
423         <annotation name="org.gtk.GDBus.DocString" value="
424           The changed properties.
425         " />
426       </arg>
427     </signal>
428
429     <signal name="DeviceAdded">
430       <annotation name="org.gtk.GDBus.DocString" value="
431         A device was added to the system
432       " />
433       <arg name="device_path" type="o">
434         <annotation name="org.gtk.GDBus.DocString" value="
435           The object path of the newly added device.
436         " />
437       </arg>
438     </signal>
439
440     <signal name="DeviceRemoved">
441       <annotation name="org.gtk.GDBus.DocString" value="
442         A device was removed from the system, and is no longer available.
443       " />
444       <arg name="device_path" type="o">
445         <annotation name="org.gtk.GDBus.DocString" value="
446           The object path of the device that was just removed.
447         " />
448       </arg>
449     </signal>
450
451     <tp:enum name="NM_STATE" type="u">
452       <annotation name="org.gtk.GDBus.DocString" value="
453         Describes the overall state of the daemon.
454       " />
455       <tp:enumvalue suffix="UNKNOWN" value="0">
456         <annotation name="org.gtk.GDBus.DocString" value="
457           Networking state is unknown.
458         " />
459       </tp:enumvalue>
460       <tp:enumvalue suffix="ASLEEP" value="10">
461         <annotation name="org.gtk.GDBus.DocString" value="
462           Networking is inactive and all devices are disabled.
463         " />
464       </tp:enumvalue>
465       <tp:enumvalue suffix="DISCONNECTED" value="20">
466         <annotation name="org.gtk.GDBus.DocString" value="
467           There is no active network connection.
468         " />
469       </tp:enumvalue>
470       <tp:enumvalue suffix="DISCONNECTING" value="30">
471         <annotation name="org.gtk.GDBus.DocString" value="
472           Network connections are being cleaned up.
473         " />
474       </tp:enumvalue>
475       <tp:enumvalue suffix="CONNECTING" value="40">
476         <annotation name="org.gtk.GDBus.DocString" value="
477           A network device is connecting to a network and there is no other
478           available network connection.
479         " />
480       </tp:enumvalue>
481       <tp:enumvalue suffix="CONNECTED_LOCAL" value="50">
482         <annotation name="org.gtk.GDBus.DocString" value="
483           A network device is connected, but there is only link-local connectivity.
484         " />
485       </tp:enumvalue>
486       <tp:enumvalue suffix="CONNECTED_SITE" value="60">
487         <annotation name="org.gtk.GDBus.DocString" value="
488           A network device is connected, but there is only site-local connectivity.
489         " />
490       </tp:enumvalue>
491       <tp:enumvalue suffix="CONNECTED_GLOBAL" value="70">
492         <annotation name="org.gtk.GDBus.DocString" value="
493           A network device is connected, with global network connectivity.
494         " />
495       </tp:enumvalue>
496     </tp:enum>
497
498     <tp:enum name="NM_CONNECTIVITY" type="u">
499       <annotation name="org.gtk.GDBus.DocString" value="
500         Describes the network-connectivity state.
501       " />
502       <tp:enumvalue suffix="UNKNOWN" value="0">
503         <annotation name="org.gtk.GDBus.DocString" value="
504           Network connectivity is unknown.
505         " />
506       </tp:enumvalue>
507       <tp:enumvalue suffix="NONE" value="1">
508         <annotation name="org.gtk.GDBus.DocString" value="
509           The host is not connected to any network.
510         " />
511       </tp:enumvalue>
512       <tp:enumvalue suffix="PORTAL" value="2">
513         <annotation name="org.gtk.GDBus.DocString" value="
514           The host is behind a captive portal and cannot reach the
515           full Internet.
516         " />
517       </tp:enumvalue>
518       <tp:enumvalue suffix="LIMITED" value="3">
519         <annotation name="org.gtk.GDBus.DocString" value="
520           The host is connected to a network, but does not appear to
521           be able to reach the full Internet.
522         " />
523       </tp:enumvalue>
524       <tp:enumvalue suffix="FULL" value="4">
525         <annotation name="org.gtk.GDBus.DocString" value="
526           The host is connected to a network, and appears to be able
527           to reach the full Internet
528         " />
529       </tp:enumvalue>
530     </tp:enum>
531
532   </interface>
533 </node>