dd6fc4bdd108cbfa36f59332699264a2bc3b0f00
[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       <tp:docstring>
9         Get the list of realized network devices.
10       </tp:docstring>
11       <arg name="devices" type="ao" direction="out">
12         <tp:docstring>
13           List of object paths of network devices known to the system.  This
14           list does not include device placeholders (see GetAllDevices()).
15         </tp:docstring>
16       </arg>
17     </method>
18
19     <method name="GetAllDevices">
20       <tp:docstring>
21         Get the list of all network devices.
22       </tp:docstring>
23       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_all_devices"/>
24       <arg name="devices" type="ao" direction="out">
25         <tp:docstring>
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         </tp:docstring>
31       </arg>
32     </method>
33
34     <method name="GetDeviceByIpIface">
35       <tp:docstring>
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       </tp:docstring>
40       <arg name="iface" type="s" direction="in">
41         <tp:docstring>
42           Interface name of the device to find.
43         </tp:docstring>
44       </arg>
45       <arg name="device" type="o" direction="out">
46         <tp:docstring>
47           Object path of the network device.
48         </tp:docstring>
49       </arg>
50     </method>
51
52     <method name="ActivateConnection">
53       <tp:docstring>
54         Activate a connection using the supplied device.
55       </tp:docstring>
56       <arg name="connection" type="o" direction="in">
57         <tp:docstring>
58           The connection to activate.  If "/" 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         </tp:docstring>
63       </arg>
64       <arg name="device" type="o" direction="in">
65         <tp:docstring>
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         </tp:docstring>
70       </arg>
71       <arg name="specific_object" type="o" direction="in">
72         <tp:docstring>
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 "/" 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 "/" to pick an AP automatically.  For VPN connections, pass
78           the object path of an ActiveConnection object that should serve as the
79           "base" connection (to which the VPN connections lifetime will be tied),
80           or pass "/" and NM will automatically use the current default device.
81         </tp:docstring>
82       </arg>
83       <arg name="active_connection" type="o" direction="out">
84         <tp:docstring>
85           The path of the active connection object representing this active connection.
86         </tp:docstring>
87       </arg>
88     </method>
89
90     <method name="AddAndActivateConnection">
91       <tp:docstring>
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       </tp:docstring>
97       <arg name="connection" type="a{sa{sv}}" direction="in">
98         <tp:docstring>
99           Connection settings and properties; if incomplete missing settings will
100           be automatically completed using the given device and specific object.
101         </tp:docstring>
102       </arg>
103       <arg name="device" type="o" direction="in">
104         <tp:docstring>
105           The object path of device to be activated using the given connection.
106         </tp:docstring>
107       </arg>
108       <arg name="specific_object" type="o" direction="in">
109         <tp:docstring>
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 "/" 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         </tp:docstring>
117       </arg>
118       <arg name="path" type="o" direction="out">
119         <tp:docstring>
120           Object path of the new connection that was just added.
121         </tp:docstring>
122       </arg>
123       <arg name="active_connection" type="o" direction="out">
124         <tp:docstring>
125           The path of the active connection object representing this active connection.
126         </tp:docstring>
127       </arg>
128     </method>
129
130     <method name="DeactivateConnection">
131       <tp:docstring>
132         Deactivate an active connection.
133       </tp:docstring>
134       <arg name="active_connection" type="o" direction="in">
135         <tp:docstring>
136           The currently active connection to deactivate.
137         </tp:docstring>
138       </arg>
139     </method>
140
141     <method name="Sleep">
142       <tp:docstring>
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       </tp:docstring>
148       <arg name="sleep" type="b" direction="in">
149         <tp:docstring>
150           Indicates whether the NetworkManager daemon should sleep or wake.
151         </tp:docstring>
152       </arg>
153     </method>
154
155     <method name="Enable">
156       <tp:docstring>
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       </tp:docstring>
163       <arg name="enable" type="b" direction="in">
164         <tp:docstring>
165           If FALSE, indicates that all networking should be disabled.  If TRUE,
166           indicates that NetworkManager should begin managing network devices.
167         </tp:docstring>
168       </arg>
169     </method>
170
171     <method name="GetPermissions">
172       <tp:docstring>
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       </tp:docstring>
177       <arg name="permissions" type="a{ss}" direction="out">
178         <tp:docstring>
179           Dictionary of available permissions and results.  Each permission
180           is represented by a name (ie "org.freedesktop.NetworkManager.Foobar")
181           and each result is one of the following values: "yes" (the permission
182           is available), "auth" (the permission is available after a successful
183           authentication), or "no" (the permission is denied).  Clients may use
184           these values in the UI to indicate the ability to perform certain
185           operations.
186         </tp:docstring>
187       </arg>
188     </method>
189
190     <signal name="CheckPermissions">
191       <tp:docstring>
192         Emitted when system authorization details change, indicating that
193         clients may wish to recheck permissions with GetPermissions.
194       </tp:docstring>
195     </signal>
196
197     <method name="SetLogging">
198       <tp:docstring>
199         Set logging verbosity and which operations are logged.
200       </tp:docstring>
201       <arg name="level" type="s" direction="in">
202         <tp:docstring>
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 "KEEP", all unmentioned
206           domains are disabled entirely. "KEEP" 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         </tp:docstring>
211       </arg>
212       <arg name="domains" type="s" direction="in">
213         <tp:docstring>
214           A combination of logging domains separated by commas (','), or "NONE"
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         </tp:docstring>
228       </arg>
229     </method>
230
231     <method name="GetLogging">
232       <tp:docstring>
233         Get current logging verbosity level and operations domains.
234       </tp:docstring>
235       <arg name="level" type="s" direction="out">
236         <tp:docstring>
237           One of [ERR, WARN, INFO, DEBUG, TRACE].
238         </tp:docstring>
239       </arg>
240       <arg name="domains" type="s" direction="out">
241         <tp:docstring>
242           For available domains see SetLogging() call.
243         </tp:docstring>
244       </arg>
245     </method>
246
247     <method name="CheckConnectivity">
248       <tp:docstring>
249         Re-check the network connectivity state.
250       </tp:docstring>
251       <arg name="connectivity" type="u" tp:type="NM_CONNECTIVITY" direction="out">
252         <tp:docstring>
253           The current connectivity state.
254         </tp:docstring>
255       </arg>
256     </method>
257
258     <method name="state">
259       <tp:docstring>
260         The overall networking state as determined by the NetworkManager daemon,
261         based on the state of network devices under it's management.
262       </tp:docstring>
263       <arg name="state" type="u" direction="out" tp:type="NM_STATE"/>
264     </method>
265
266     <property name="Devices" type="ao" access="read">
267       <tp:docstring>
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       </tp:docstring>
272     </property>
273
274     <property name="AllDevices" type="ao" access="read">
275       <tp:docstring>
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       </tp:docstring>
281     </property>
282
283     <property name="NetworkingEnabled" type="b" access="read">
284       <tp:docstring>
285         Indicates if overall networking is currently enabled or not.  See the
286         Enable() method.
287       </tp:docstring>
288     </property>
289
290     <property name="WirelessEnabled" type="b" access="readwrite">
291       <tp:docstring>
292         Indicates if wireless is currently enabled or not.
293       </tp:docstring>
294     </property>
295
296     <property name="WirelessHardwareEnabled" type="b" access="read">
297       <tp:docstring>
298         Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
299       </tp:docstring>
300     </property>
301
302     <property name="WwanEnabled" type="b" access="readwrite">
303       <tp:docstring>
304         Indicates if mobile broadband devices are currently enabled or not.
305       </tp:docstring>
306     </property>
307
308     <property name="WwanHardwareEnabled" type="b" access="read">
309       <tp:docstring>
310         Indicates if the mobile broadband hardware is currently enabled, i.e. the state of the RF kill switch.
311       </tp:docstring>
312     </property>
313
314     <property name="WimaxEnabled" type="b" access="readwrite">
315       <tp:docstring>
316         Indicates if WiMAX devices are currently enabled or not.
317       </tp:docstring>
318     </property>
319
320     <property name="WimaxHardwareEnabled" type="b" access="read">
321       <tp:docstring>
322         Indicates if the WiMAX hardware is currently enabled, i.e. the state of the RF kill switch.
323       </tp:docstring>
324     </property>
325
326     <property name="ActiveConnections" type="ao" access="read">
327       <tp:docstring>
328         List of active connection object paths.
329       </tp:docstring>
330     </property>
331
332     <property name="PrimaryConnection" type="o" access="read">
333       <tp:docstring>
334         The object path of the "primary" 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       </tp:docstring>
341     </property>
342
343     <property name="PrimaryConnectionType" type="s" access="read">
344       <tp:docstring>
345         The connection type of the "primary" 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       </tp:docstring>
349     </property>
350
351     <property name="Metered" type="u" access="read" tp:type="NM_METERED">
352       <tp:docstring>
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       </tp:docstring>
357     </property>
358
359     <property name="ActivatingConnection" type="o" access="read">
360       <tp:docstring>
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       </tp:docstring>
365     </property>
366
367     <property name="Startup" type="b" access="read">
368       <tp:docstring>
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       </tp:docstring>
373     </property>
374
375     <property name="Version" type="s" access="read">
376       <tp:docstring>
377         NetworkManager version.
378       </tp:docstring>
379     </property>
380
381     <property name="State" type="u" access="read" tp:type="NM_STATE">
382       <tp:docstring>
383         The overall state of the NetworkManager daemon.
384       </tp:docstring>
385     </property>
386
387     <signal name="StateChanged">
388       <tp:docstring>
389         NetworkManager's state changed.
390       </tp:docstring>
391       <arg name="state" type="u" tp:type="NM_STATE">
392         <tp:docstring>
393           The new state of NetworkManager.
394         </tp:docstring>
395       </arg>
396     </signal>
397
398     <property name="Connectivity" type="u" access="read" tp:type="NM_CONNECTIVITY">
399       <tp:docstring>
400         The network connectivity state.
401       </tp:docstring>
402     </property>
403
404     <property name="GlobalDnsConfiguration" type="a{sv}" access="readwrite">
405       <tp:docstring>
406         Dictionary of global DNS settings where the key is one of
407         "searches", "options" and "domains".  The values for the
408         "searches" and "options" keys are string arrays describing the
409         list of search domains and resolver options, respectively.
410         The value of the "domains" 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 "servers" and
413         "options". "servers" is a string array of DNS servers,
414         "options" is a string array of domain-specific options.
415       </tp:docstring>
416     </property>
417
418     <signal name="PropertiesChanged">
419       <tp:docstring>
420         NetworkManager's properties changed.
421       </tp:docstring>
422       <arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
423         <tp:docstring>
424           The changed properties.
425         </tp:docstring>
426       </arg>
427     </signal>
428
429     <signal name="DeviceAdded">
430       <tp:docstring>
431         A device was added to the system
432       </tp:docstring>
433       <arg name="device_path" type="o">
434         <tp:docstring>
435           The object path of the newly added device.
436         </tp:docstring>
437       </arg>
438     </signal>
439
440     <signal name="DeviceRemoved">
441       <tp:docstring>
442         A device was removed from the system, and is no longer available.
443       </tp:docstring>
444       <arg name="device_path" type="o">
445         <tp:docstring>
446           The object path of the device that was just removed.
447         </tp:docstring>
448       </arg>
449     </signal>
450
451     <tp:enum name="NM_STATE" type="u">
452       <tp:docstring>
453         Describes the overall state of the daemon.
454       </tp:docstring>
455       <tp:enumvalue suffix="UNKNOWN" value="0">
456         <tp:docstring>
457           Networking state is unknown.
458         </tp:docstring>
459       </tp:enumvalue>
460       <tp:enumvalue suffix="ASLEEP" value="10">
461         <tp:docstring>
462           Networking is inactive and all devices are disabled.
463         </tp:docstring>
464       </tp:enumvalue>
465       <tp:enumvalue suffix="DISCONNECTED" value="20">
466         <tp:docstring>
467           There is no active network connection.
468         </tp:docstring>
469       </tp:enumvalue>
470       <tp:enumvalue suffix="DISCONNECTING" value="30">
471         <tp:docstring>
472           Network connections are being cleaned up.
473         </tp:docstring>
474       </tp:enumvalue>
475       <tp:enumvalue suffix="CONNECTING" value="40">
476         <tp:docstring>
477           A network device is connecting to a network and there is no other
478           available network connection.
479         </tp:docstring>
480       </tp:enumvalue>
481       <tp:enumvalue suffix="CONNECTED_LOCAL" value="50">
482         <tp:docstring>
483           A network device is connected, but there is only link-local connectivity.
484         </tp:docstring>
485       </tp:enumvalue>
486       <tp:enumvalue suffix="CONNECTED_SITE" value="60">
487         <tp:docstring>
488           A network device is connected, but there is only site-local connectivity.
489         </tp:docstring>
490       </tp:enumvalue>
491       <tp:enumvalue suffix="CONNECTED_GLOBAL" value="70">
492         <tp:docstring>
493           A network device is connected, with global network connectivity.
494         </tp:docstring>
495       </tp:enumvalue>
496     </tp:enum>
497
498     <tp:enum name="NM_CONNECTIVITY" type="u">
499       <tp:docstring>
500         Describes the network-connectivity state.
501       </tp:docstring>
502       <tp:enumvalue suffix="UNKNOWN" value="0">
503         <tp:docstring>
504           Network connectivity is unknown.
505         </tp:docstring>
506       </tp:enumvalue>
507       <tp:enumvalue suffix="NONE" value="1">
508         <tp:docstring>
509           The host is not connected to any network.
510         </tp:docstring>
511       </tp:enumvalue>
512       <tp:enumvalue suffix="PORTAL" value="2">
513         <tp:docstring>
514           The host is behind a captive portal and cannot reach the
515           full Internet.
516         </tp:docstring>
517       </tp:enumvalue>
518       <tp:enumvalue suffix="LIMITED" value="3">
519         <tp:docstring>
520           The host is connected to a network, but does not appear to
521           be able to reach the full Internet.
522         </tp:docstring>
523       </tp:enumvalue>
524       <tp:enumvalue suffix="FULL" value="4">
525         <tp:docstring>
526           The host is connected to a network, and appears to be able
527           to reach the full Internet
528         </tp:docstring>
529       </tp:enumvalue>
530     </tp:enum>
531
532   </interface>
533 </node>